воскресенье, 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 существуют параллельно, что создает большую путаницу.