Разлика между Apache Pig и Apache Hive

Историята на Apache Pig започва през 2006 г., когато изследователят, докато Yahoo се бореше с кодовете MapReduce Java. Беше трудно да се използва повторно и да се поддържа код за компилация. В същото време те забелязаха, че потребителите на MapReduce не са удобни с декларативните езици като SQL. Те започнаха да работят върху нов език, който трябваше да пасне на сладко място между декларативния стил на SQL, ниско ниво и процедурен стил на MapReduce. Това доведе до раждането на Pig и първото издание на Pig дойде през септември 2008 г., а до края на 2009 г. около половината от работните места в Yahoo са Pig работни места.

Историята на Apache Hive започва през 2007 г., когато не-Java програмист трябва да се бори, докато използва Hadoop MapReduce. ИТ специалистът от базата данни беше изправен пред предизвикателства за работа върху Hadoop Cluster. Първоначално изследователи, работещи във Facebook, измислиха език Hive. Този език беше много подобен на SQL. Така езикът се нарича Hive Query Language (HQL) и по-късно става проект на Apache Community с отворен код. След ставането на проект на Apache Community имаше голямо развитие в Apache Hive. Facebook беше първата компания, която излезе с Apache Hive.

Нека обясня за Apache Pig срещу Apache Hive по-подробно.

Представяме Ви Apache Pig срещу Apache Hive

Apache Pig е платформа за анализ на големи масиви от данни, която се състои от език на високо ниво за експресиране на програми за анализ на данни, съчетано с инфраструктура за оценка на тези програми. Apache е проект с отворен код на общността Apache. Apache Pig предоставя прост език, наречен Pig Latin, за заявки и манипулиране на данни.

Прасето се използва от компании като Yahoo, Google и Microsoft за събиране на огромни количества набори от данни под формата на потоци за щракване, регистрационни файлове за търсене и уеб обхождания.

  • Apache Pig предоставя вложени типове данни като Карти, Тупове и Чанти
  • Apache Pig Следва многопосочен подход, за да избегне множество сканиране на наборите от данни.
  • Програмистите, запознати с скриптовия език, предпочитат Apache Pig
  • Прасето е лесно, ако добре знаете SQL
  • Няма нужда да създавате схема за работа върху Apache Pig
  • Pig също осигурява подкрепа за големи операции с данни като Поръчка, Филтри и Присъединяване
  • Apache Pig Framework превежда Pig Latin в последователности от програми MapReduce

Софтуерът за съхранение на данни Apache Hive улеснява четенето, писането и управлението на големи набори от данни, пребиваващи в разпределено съхранение с помощта на SQL. Apache Hive е проект с отворен код Apache, създаден на върха на Hadoop за запитвания, обобщаване и анализиране на големи масиви от данни, използвайки SQL-подобен интерфейс. Apache кошер осигурява SQL-подобен език, наречен HiveQL, който прозрачно преобразува заявки в MapReduce за изпълнение на големи набори от данни, съхранявани в разпределената файлова система Hadoop (HDFS).

  • Apache Hive е инфраструктура за съхранение на данни.
  • Apache Hive е ETL инструмент (извличане-трансформация-зареждане)
  • Apache кошер е подобен на SQL
  • Apache Hive позволява персонализирани картографи и редуктори
  • Apache Hive увеличава гъвкавостта на дизайна на схемата, използвайки сериализация на данни и десериализация
  • Apache кошер е аналитичен инструмент

Сравнение между главата на Apache Pig срещу Apache Hive (Инфографика):

Ключови разлики между Apache Pig срещу Apache Hive:

  • Apache Pig по-бързо сравнява Apache Hive
  • Apache Pig и Apache Hive се движат на върха на Hadoop MapReduce
  • Apache Pig е най-подходящ за структурирани и полуструктурирани, докато Apache Hive е най-добър за структурирани данни
  • Apache Pig е процедурен език, докато Apache Hive е декларативен език
  • Apache Pig поддържа функцията на cogroup за външни съединения, докато Apache Hive не поддържа
  • Apache Pig няма предварително дефинирана база данни за съхраняване на таблица / схема, докато Apache Hive има предварително дефинирани таблици / схема и съхранява информацията си в база данни.
  • Apache Pig е подходящ и за сложна и вложена структура на данни, докато Apache Hive е по-малко подходящ за сложни данни
  • Изследователите и програмистите използват прасе Apache, докато анализаторите на данни използват Apache Hive
Кога да използвате Apache Pig:
  • Когато сте програмист и знаете скриптов език
  • Когато не искате да създавате схема по време на зареждане
  • Изисквания за ETL
  • Когато работите от страна на клиента на кластера Hadoop
  • Когато работите върху файлов формат на Avro Hadoop
Кога да използвате Apache Hive:
  • Изисквания за съхранение на данни
  • Аналитични запитвания за исторически данни
  • Анализ на данни, които са запознати със SQL
  • Докато работите върху структурирани данни
  • По данни анализатори
  • За визуализиране и създаване на отчети

Таблица за сравнение на Apache Pig vs Apache Hive

Обсъждам основни артефакти и разграничавам Apache Pig и Apache Hive.

Apache PigApache кошер
Обработка на данниApache Pig е език на потока от данни на високо нивоApache Hive се използва за пакетна обработка, т.е. онлайн аналитична обработка (OLAP)
Скорост на обработкаApache Pig има по-висока латентност поради изпълнение на заданието MapReduce във фонов режимApache Hive също има по-висока закъснение заради изпълнението на задачата MapReduce във фонов режим
Съвместимост с HadoopApache Pig работи на MapReduceApache Hive също работи над MapReduce
дефиницияApache Pig е отворен код, система за поток от високо ниво на данни, която ви прави проста езикова платформа, подходящо позната като Pig Latin, която може да се използва за манипулиране на данни и заявки.Apache Hive е с отворен код и подобен на SQL, използван за аналитични заявки
Използван езикApache Pig използва език за процедурен поток на данни, наречен Pig LatinApache Hive използва декларативен език, наречен HiveQL
схемаApache Pig няма концепция за схема. Можете да съхранявате данни в псевдоним.Apeche кошер поддържа схема за поставяне на данни в таблици
Уеб интерфейсApache Pig не поддържа уеб интерфейсApache Hive поддържа уеб интерфейс
ОперацииApache Pig се използва за структурирани и полуструктурирани данниApache Hive се използва за структурирани данни.
Спецификация на потребителяApache Pig се използва от изследователи и програмистиApache Hive се използва от Data Analyst
Работи наApache Pig работи от страна на клиента на клъстераApache кошер Оперира от страна на сървъра на клъстера
Методи за разделянеВ Apache Pig няма концепция за дялApache Hive поддържа функции на Sharding
Файлов форматApache Pig поддържа Avro файлов форматApache кошерът директно не поддържа формат Avro, но може да поддържа „org.apache.hadoop.hive.serde2.avro“
JDBC / ODBCApache Pig не поддържаApache кошер подкрепя, но ограничени
Отстраняване на грешкиОтстраняване на грешки от Pig скриптове е лесноМожем да отстраняваме грешки, но това е малко сложно

Заключение - Между Apache Pig срещу Apache Hive:

Apache Pig и Apache Hive, и двете обикновено се използват в клъстер Hadoop. Както Apache Pig, така и Apache Hive е мощен инструмент за анализ на данни и ETL. Apache Pig и Apache Hive се използват най-вече в производствената среда. Потребителят трябва да избере инструмент въз основа на типове данни и очакван резултат. И двата инструмента предоставят уникален начин за анализ на Big Data на Hadoop клъстера. Въз основа на горната дискусия потребителят може да избира между Apache Pig и Apache Hive за техните изисквания.

Препоръчителен член

Това е ръководство за Apache Pig vs Apache Hive, тяхното значение, сравнение между главата, ключови разлики, таблица за сравнение и заключение. Можете също да разгледате следните статии, за да научите повече -

  1. Въпроси за интервю за разработчика на Hadoop
  2. Хадоп срещу кошер
  3. Как да разбиете интервюто за разработчици на Hadoop?
  4. Apache Hive срещу Apache HBase
  5. Apache Hadoop срещу Apache Spark

Категория: