2015-08-18 5 views
-1

В этом случае мы должны использовать свинью UDF и в этом случае мы должны использовать Pig LatinPig UDF или Pig Latin или оба?

Контекст: Я работаю над проектом, чтобы восстановить SQL «журналы» базы данных, и я должен создать дизайн новой базы данных NoSQL. Я изучаю NoSQL и мало знаю о Hadoop/Cloudera.

  1. Я хочу использовать Pig для загрузки данных
  2. Я не использую Cloudera, но может использовать его

Спасибо за ваши ответы.

ответ

0

Если вы можете сделать это в Pig (или Hive), сделайте это в Pig (или Hive).

В противном случае сделайте это в Java MapReduce.

Преимущества Свиньи:

Структурированные данные, такие как CSV очень легко загружать и использовать Не то, что гораздо медленнее, чем Java Не склонный к ошибкам Java-уровня Легче читать и не писать Нет необходимости компилировать: проще в обслуживании, проще в развертывании Есть несколько вещей, которые вы можете подумать, что вы не можете сделать в Pig сначала и хотите использовать Java, но вы можете сделать это в Pig, как только узнаете больше об этом:

Вы можете писать пользовательские загрузчики в Java. Вы собираетесь написать некоторую Java, чтобы разобрать этот сложный формат данных в любом случае, так почему бы не сделать это в Pig Loader? Вложенные карты и типы данных пакетов могут хорошо структурировать иерархические структуры данных, но вам, вероятно, придется написать тонну UDF. Вы можете использовать Java MapReduce в Pig. Это позволяет вам выполнять жесткую операцию в Pig, но проще в других местах. Есть несколько здесь, но вы понимаете. Свинья очень настраиваемая, и вы в конечном итоге пишете меньше Java в целом.

Базовый материал прост. Мы можем делать такие вещи, как иерархические структуры данных, и пользовательскую загрузку с небольшими усилиями. Хорошо, так что же осталось?

Экзотические применения расширителей для выполнения чего-то MapReduce не предназначены. Действительно неприятные форматы данных или полностью неструктурированные данные (видео, аудио, необработанный текст, читаемый человеком) Выполнение сложных операций в DistributedCache (основные вещи могут выполняться с помощью JOIN и USING 'replicated') Надеемся, что другие могут добавить вещи, t в Pig в комментариях.