Pull to refresh
26
0
Серега @yaneblog

Пользователь

Send message
1. Spark идеологически в корне отличается от всего остального Хадупного хозяйства. Между прочим, HDFS caching может вывести pig на скорость, соизмеримую со Спарком. Вы ставите рядом трактор и Феррари, а потом расстраиваетесь, потому что трактор медленно едет, а в Феррари не влезает картошка.

2. Пытаться процедурный data flow язык сравнить с декларативным SQL? Конечно, это не важно. Ваша аргументация меня удивляет. Linkedin, Spotify, Yahoo, Netflix будут расстроены, узнав что pig работает «неудобно».

Я читал ваши комментарии, меня смущает отсутствие объективности при оценке инструментов. Крайне любопытно узнать, что вас привело к такому.
1. Медленный по сравнению с чем? И это не болезнь, это называется batch processing.
2. Это не SQL, Pig latin процедурный, а SQL- декларативный. Вы пытаетесь сравнить теплое со сладким.
3. Если нет SLA и все можно сделать на коленке, то да.

Вы не поверите —

Конечно поверю, потому что Хадуп, это от 5 нод. Странно сравнивать распределенную систему, установленную на одном узле с однопоточной программой. Чего вы пытались добиться этим сравнением?
Не бывает map и reduce узлов, бывают map и reduce tasks. И, скорее всего, reduce task будет запущен на том же узле, что и map task, чтобы избежать излишней передачи данных по сети. Data locality, вокруг этого построены все современные фреймворки. Не у всех есть деньги на infiniband.
В результате парсинга скрипта получается DAG, он и исполняется.
Было бы здорово, если бы схема была оформлена в терминологии HDFS+MapReduce; JobTracker, TaskTracker, DataNode.
Это и вызвало у меня удивление. Скроллбары толщиной в человеческий волос, транзакции по карте, отсортированные в хаотическом порядке. Нечитаемая выписка в формате ПДФ. Сделано все, чтобы люди перестали пользоваться банком. Через три года мучений я закрыл карту.
Пользовался банк-клиентами 4 российских и зарубежных банков: ВТБ, Сбер, Ситибанк, Инвестбанк.
Самый убогий по всем возможным критериям — банк-клиент Ситибанка, который был обновлен в 2011 году. Казалось бы, как, например, Сбер (кто работал в Сбере или у кого Сбер был заказчиком — тот поймёт) может сделать БК лучше, чем Ситибанк — одна из крупнейших финансовых групп в мире? А легко!
Рассказ автора, на самом деле, применим к любой крупной компании. Я работал в одном из вендоров БД. Так вот, флагманский продукт вылизан и выпестован в штатах, весь прикладной софт написан на коленке в Бангалоре авторами книги «Software design antipatterns».
В посте есть ряд спорных утверждений и очевидных неточностей.
проблема легко решается за счёт партиционирования на уровне приложения.
Наихудшее из возможных на текущий момент решений.
Мы можем загрузить все данные в распределённую базу Oracle и работать с ними так же, как с активными.
Откуда столько денег? Вместо одно распределенной Oracle/Teradata DB можно купить Хадуп кластер на пол сотни машин. Ничто не мешает на этих же машинах гонять Storm, как вы упомянули в посте.

затем над каждым из них выполняется функция map, затем результаты сортируются, затем комбинируются, затем снова сортируются и наконец передаются функции reduce.
Вы забыли смерджить и отсортировать данные на reducer'e. Да и не только.
static.oschina.net/uploads/img/201303/14004621_AjkO.png

Hadoop через какое-то время убьёт всё задание как сбойное.
Какой жестокий Хадуп :)
mapred.task.timeout
В общем случае, если приходится прибегать к этой property, значит что-то не так в реализации алгоритма.
Это ок. Я пишу всякие Хадуп приложения, иногда приходится патчить либы Хадупа, написанные на Джава. Ситуация та же — в общем и целом качество кода посредственное.
Сонар может быть своеобразным «агрегатором» выхлопа из pmd, checkstyle, e.t.c. Помимо них, к Сонару можно прикручивать его же плагины. Сонар активно используется здесь: www.cloudbees.com/platform-service-sonarsource.cb
Сам я про сонар узнал из рассылки вышеупомянутоого сервиса.
google, для Java очень много всего, под cpp и др. популярные языки тоже можно найти.
Мы используем: pmd, checkstyle, cobertura (test coverage) + встроенный анализатор кода в Идее.
pmd, checkstyle, sonar этим и занимаются.
Есть такое решение:
при помощи flume и его exec source отправлять логи с серверов в HDFS.
Подключить Timestamp Interceptor и настроить Flume HDFS sink так, чтоб он писал с партиционированием по по часам:
/landing/source/mysuper_distirubuted_system/2013/03/08/12
Затем запускать pig и при помощи него выполнять аналитические операции над логами. Ведь мало собрать логи в одном месте, важно иметь способ быстро что-то по ним поискать.
После ответа от 5ого элемента получил деньги в течение недели.
Из-за глюков и странного поведения 5elements, у меня есть по две лишних лицензии на каждый из следующих продуктов (еще один комплект лицензий оставил себе):
1. idea12
2. rubymine
3. phpstorm
4. webstorm

Т.к. 5elements странная компания, нет уверенности, что деньги удастся вернуть. Отдам лицензии по закупке. Подробности в личку. Если представители Jetbrains объяснят как вернуть 8 лицензий, с радостью отдам сразу все лишние.
Первый вывод: нужно дублировать мониторинг, использовать для его целей совершенно внешние ресурсы.
Правильно сказал мой приятель: должна случаться невероятная ситуация, чтобы в одной компании, в одной комнате собралось больше одного вменяемого инженера.
Спасибо, понравилось! Давид — молодец.
А про SketchUp планируется семинар?
Понял, спасибо!
Вечер добрый. Пытаюсь родить pmd-rule (http://pmd.sourceforge.net/) для примитивного случая sql injection:

ResultSet rs = null;
PreparedStatement ps = null;
/* some code… */
ps = con.prepareStatement(mySQL);
/* again some code… */

Как я понял, pmd основан на JavaCC.
Я без проблем нахожу вызов «prepareStatement», но никак не могу получить доступ к аргументу метода, чтоб поискать его usage в method scope (упрощаю задачу).

В общем, идея следующая: если аргумент метода «prepareStatement» является производным (через конкатенацию или StringBuilder, StringBuffer) от строкового (String) аргумента метода класса, внутри которого готовится стейтмент, то надо выдать предупреждение о потенциальном SQL-injection.

Понятное дело, озвученный кейс — самый примитивный, тем не менее подрядчики этим занимаются постоянно. К счастью, до чего-то более изощренного они не додумываются.

Есть ли у вас опыт написания подобного, где можно посмотреть, почитать? форум pmd скорее мертв, чем жив.
Пользуемся. Успешно или нет — вопрос сложный. Точный ответ можно будет дать через месяц-два. Используем в качестве средства супер-быстрой разработки гуёв для редактора анимации.
Аналогичная ситуация. В конце февраля из 5ти посылок начали трекаться 3.
Выяснилось, что 2 посылки передали таможне, а одна все еще лежит в ММПО.
Где еще две — неизвестно.
Можно звонить вот сюда: 8-800-2005-888 и называть трек-номер.
Часто по телефону дают более точную информацию.
Там же можно узнать о проблемах с таможкой.

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity