вторник, 13 ноября 2012 г.

Lifehack: сдаем CCHD и CCHA экзаменты



Какой то добрый человек выложил в сети тренировочные примеры клаудеровских экзаменов на Hadoop админа и Hadoop разработчика.

Решаемые задания теста максимально близки к тому, с чем мне пришлось  столкнуться на экзамене. В тренировочном тесте вас ожидает 30 вопросов вместо 60, которые надо решить за час своего времени, вместо полутра.

Это конечно примеры тестов на хадуп разработчика под CDH 3.x, который проводится только до конца этого года. Я надеюсь, что в скором времени появится что-то подобное и для тестов на CDH 4

суббота, 10 ноября 2012 г.

Hadoop User Group Meetup

Вчера, 8 ноября на монсарде Рамблера состоялся Hadoop User Group Meetup.

Эта была первая встреча, никто не знал до этого как и в каком виде надо проводить подобные сборища.
На первый раз у нас получилась мини конференция, на которойбыло 4 доклада:
  • Мой - про машинное обучение на MapReduce
  • Ильи Трофимова из Яндекса - про быстрое машинное обучение на подхаченном Hadoop'е

  • Владимир из Microsoft рассказал про hadoop в Windows Azure,
  • В конце Алексей из Doichebank'а поделился своим опытом развертывания hadoopa, hbase и других компонент.

понедельник, 29 октября 2012 г.

Hadoop в реальном времени

На прошлой неделе в Нью Йорке состоялась  конфа Hadoop World 2012.
На этой конфе клаудера презентовала свою новую разработку Cloudera Impala (анг. "Чернопятая антилопа"). Эта система для выполнения SQL подобных запросов на данных в HDFS в реальном времени.

С точки зрения пользователя - Impala - это облегченый hiveQL.  Однако в отличие от Hive - Impala не является оберткой вокруг map-reduce, а независимой утилитой, инстансы которой ставятся на все машины кластера.
Об архитектуре Impala написано очень скупо, приведена лишь такая вот диаграмма

на схеме MPP скорее всего означает "Massive Parallel Processing" - массово паралельную систему вычислений. В блоге cloudera сказано, что так реализован движок распределенных запросов, который очень похож на то, на чем строятся коммерческие паралельные СУБД.

Фичи Impala:
  • 100% open source
  • может работать с данными как из hdfs, так и из hbase
  • можно настроить единое хранилище метаинформации для нее и для hive'а, тогда она будет работать с теми же таблицами, что и hive
  • умеет делать join'ы таблиц
По сравнению с hive:
  • в задачах ввода-вывода скорость выше в 3-4 раза
  • в одиночных джойнах в 7-45 раз
  • в джойнах, когда данные помещаются в память - в 20-90 раз
Я немножно потестировала impala сам, скачав настроенную виртуалку с сайта cloudera.
  • над простой тестовой задачей "select * from table" Impala работала 0.7 секунд, когда hive'у потребовалось около 12.
  • с задачей посложнее, где надо было сделать 6 джойнов, Impala думала 16 секунд, а hivе отправил виртуалку в жесткий свап.
Технические органичения на бету строгие: только RHEL или CentOS, причем определенныой версии.
Вот такая вот штука. Будем ждать релиза и облизываться.

Ссылки по теме:

среда, 24 октября 2012 г.

воскресенье, 21 октября 2012 г.

Я прошел Cloudera Certified Hadoop Developer!!!

В пятницу, 19 октября, я ходил сдавать экзамен Cloudera Ceritfied Hadoop Developer в центре "Специалист".  Сдал его успешно, дав 56 правильных ответов из 60.

Чем был мне полезен этот экзамен:
  • Во первых это моя первая сертификация и мой первый сертификат специалиста
  • Во вторых, при подготовке к экзамену мне пришлось целенаправлено проштудировать Hadoop The Definitive Guide.
В итоге узнал для себя новое о хадупе, например что такое Data Locality, Speculative Execution, что делает маппер, если очередная строка текстового файла оказалась разбита по разным файлам, как реализовать join, чтобы разные входные данные обрабатывались разными мапперами.
  • В третьих в процессе самого экзамена я встретил несколько "хрен знает как ответить" вопросов. Перед началом экзамена я дал тестирующей программе обещание хранить содержимое экзамена в тайне, поэтому говорить о них не буду :)))
Общее впечатление от экзамена: экзамен легкий, расчитан на то, чтобы новичок в этом деле сдал его, как следует изучив матчасть. Для специалиста, проработавшего с Hadoop не один год большинство вопросов кажутся очевидными, из серии "что делать человеку, который очень хочет запускать задачки на Hadoop, но значет только SQL?".

Несколько слов о том, как готовиться к экзамену. Мне для подготовки вполне хватило информации из Hadoop The Definitive Guide. Экзамен построен на 3й версии клаудеровского дистрибутива hadoop, поэтому вопросы относятся только классическому Map-Reduce и старой версии Hadoop API. Список тем, приведенный на сайте полностью покрывает все вопросы теста.

Ну вот как-то так.  На все вопросы про экзамен готов ответить в комментах.

Update: в сети появились примеры экзаменационных вопросов

среда, 3 октября 2012 г.

Вышел CDH 4.1!

Cloudera - компания, которая разрабатывает бесплатные дистрибутивы hadoop'а и многочисленных его приложений, которые хорошо работают друг с другом.

Вчера (2 октября) Cloudera сообщила о выходе нового дистрибутива hadoop CDH 4.1 (cloudera distribution of hadoop).
Основные фичи нового пакета по сравнению с  CDH 4.0:
 - Хранилище "по кворуму" - HDFS может хранить в нем свои собственные логи изменений. Теперь "высокодоступную" неймноду можно запускать без использования внешних хранилищ или других решений.
 - Безопасность и многопоточность hive - теперь в hive можно ставить задачи, используя авторизацию по kerberos. Также hive теперь поддерживает несколько пользовательских запросов одновременно
 - Билдер потока Oozie - ози была добавлена в дистрибутив 2 года назад и за это время куча пользователей просили клаудеру сделать разработку потока для него проще. Теперь в hue добавлен новый job designer, который позволяет строить поток выполнения задач oozie графически
 - Улучшения во Flume - за последнее время Flume стал хребтом некоторых существующих проектов по сборку данных. В некоторых системах Flume собирает до 20Tb новых данных в день. В 4.1 добавлена синхронизация с hBase, несколько метрик для мониторинга, улучшения производительности.
 - Разные улучшения производительности - меп-редьюс стал шустрее по сравнению с CDH 4.0
 - Улучшения в безопасности -  CDH 4.1 позволяет шифровать данные на лету на стадии shuffle. Так же появилась безопасность под доступу к файловой системе hdfs через FUSE





Описание нового релиза взято из официального блога cloudera
http://www.cloudera.com/blog/2012/10/cdh4-1-now-released/


среда, 12 сентября 2012 г.

пятница, 31 августа 2012 г.

Об эволюции слонов


У большинства окружающих нас программ список релизов устроен просто и скучно. Сначала появляются первые, нестабильные релизы  0.1, 0.2, через какое то время появляется стабильная единичка, патчи к ней, потом приходит время двойки и так далее.

Но для hadoop'а, как для инновационной технологии, призванной изменить подходы
к хранению и обработке информации в мире, такое простое решение с номерами не катит. Hadoop относится к тем вещам, фичи которых нужны уже прямо сейчас, а не с выходом, а потом стабилизацией следующей версии.

вторник, 17 июля 2012 г.

Охраняем зоопарк

imageРысцов Денис написал на хабре статью, доступно объясняющую что такое hadoop zookeeper и как его можно самим использовать в собственной разработке.
Описание  Zookeeper'а от других автором всегда оставаляло у меня расплывчатое представление что же это такое. В его статье я наконец нашел нормальное определение этой штуки.

ZooKeeper, это распределенное key/value хранилище со следующими свойствами:

  • пространство ключей образует дерево (иерархию подобную файловой системе)
  • значения могут содержаться в любом узле иерархии, а не только в листьях (как если бы файлы одновременно были бы и каталогами), узел иерархии называется znode
  • между клиентом и сервером двунаправленная связь, следовательно, клиент может подписываться как изменение конкретного значения или части иерархии
  • возможно создать временную пару ключ/значение, которая существует, пока клиент её создавший подключен к кластеру
  • все данные должны помещаться в память
  • устойчивость к смерти некритического кол-ва узлов кластера

Поддерживаемые операции

exists проверяет существование znode и возвращает его метаданные
create создает znode
delete удаляет znode
getData получает данные ассоциированные с znode
setData ассоциирует новые данные с znode
getChildren получает детей указанного znode
sync дожидается синхронизации узла кластера, к которому мы подсоединены, и мастера. 

Читать далее на хабре

четверг, 12 июля 2012 г.

Map Reduce 2.0 или Eще Один Переговорщик

В конце 2011 года apache выпустил новый релиз hadoop под номером 0.23. По сравнению с известием о выходе первой стабильной версии hadoop 1.0.0, это событие оказалось не таким заметным. Однако новая версия хадупа имеет ряд очень важных улучшений, такие как
  •  высокодоступная нейм нода (High Available NameNode)
  •  федерация нейм нод
  •  новая версия MapReduce, названная YARN или MapReduce 2.0
Идея изменить архитектуру вычислений на MapReduce кластере созревала давно. Разработчикам hadoop не нравилось, что job tracker является единой точкой отказа, узким местом в производительности больших кластеров, а вычислительные мощности расходуются неоптимальным образом. Поэтому в 2010 году в Yahoo начал разрабатываться проект новой системы кластерных вычислений, результатом которой стал YARN.
О стабильности и надежности нового релиза можно судить по тому, что на
его основе cloudera уже сделала новую сборку своего дистрибутива - cdh4.

вторник, 3 июля 2012 г.

Старый и новый Hadoop API


Все начинающие hadoop  разработчики рано или поздно обнаруживают, что все примеры готовых hadoop приложений написаны с использованием разных map и reduce функций, разного наследования классов от производного класса, с разным способом запуска задач.
Дело в том. что начиная с версии 0.20 у hadoop появился новый API, который несовместим со старым, хотя они и достаточно похожи друг на друга. Под старый API написано уже много кода, от которого не все еще готовы отказаться, поэтому сейчас два hadoop API существуют параллельно, что создает большую путаницу.

вторник, 26 июня 2012 г.

Как использовать hive в веб аналитике. Статистика по пользователям


 В веб аналитике статистики считаются 3х разных размерностях:
  - в кликах
  - в сессиях
  - и в пользователях
 Статистика по пользователям очень важна, ведь именно посетители сайтов в конечном счете приносят бизнесу деньги.
В этом посте мы научимся считать такие статистики. Накапливать информацию о пользователях сложнее, чем о кликах или сессиях: 
  • вся информация о кликах есть в исходном логе, 
  • сессии можно определить обработав логи за один день
  • информацию о пользователях можно получить, обрабатывая недели и месяцы

пятница, 22 июня 2012 г.

Как использовать hive в веб аналитике. Сокращение больших данных


При работе с логами высоконагруженного сервиса приходится решать следующие проблемы
  • новые логи появляются каждый день и нужно автоматизировать их добавление и обработку
  • многие статистики считаются за день, неделю, месяц. Хочется простым способом считать их, используя при этом только логи за выбранные даты, а не за все время
  • если логов очень много, то хочется уметь считать статистики приближенно, используя только часть данных
Первые две проблемы решаются созданием разделов в таблице, последняя — семплированием

вторник, 19 июня 2012 г.

Как использовать hive в веб аналитике. Статистика сессий


Это третий пост про использование hive в веб аналитике. В предыдущих
постах я описал сам hive и задачу веб-аналитики, а так же как считать стастики по логам apache.
Здесь я разберу расчет статистик по сессиям, который требует особого подхода.

понедельник, 18 июня 2012 г.

Как использовать hive в web-аналитике. Анализ логов апача

В этом посте я расскажу, как при помощи hive можно вытащить что-нибудь ценное из логов апача. Если слова hive или веб-аналитика вам ничего не говорят, то рекомендую прочитать мой предыдущий пост:


В качестве справочного материала рекомендую использовать книгу Tom White "Hadoop The DefinitiveGuide", или читать про hive в wiki на сайте apache

четверг, 14 июня 2012 г.

Как использовать hive в web-аналитике. Введение


Прошлой осенью на мейлрушной конференции я услышал от тренера из cloudera, что hive являетя любимым инструментом многих пользователей hadoop'а. Эта штука радикальным образом упрощает написание hadoop задач, переводя их из терминова map-reduce команд в более понятный для человека sql-подобный язык. Рассказать подробно про hive за один раз невозможно, поэтому я решил посвятить ему небольшую серию постов.

понедельник, 16 января 2012 г.

Распределенная файловая система HDFS

На просторах интернета нашел хорошее введение в hdfs (hadoop distributed file system) на русском языке:


Это перевод оригинальной обучающей статьи про hdfs на сайте yahoo.
За устранение языкового барьера можно благодарить блоггера (блоггершу?) olesya-lara