Разлика между 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 Pig | Apache кошер | |
Обработка на данни | Apache Pig е език на потока от данни на високо ниво | Apache Hive се използва за пакетна обработка, т.е. онлайн аналитична обработка (OLAP) |
Скорост на обработка | Apache Pig има по-висока латентност поради изпълнение на заданието MapReduce във фонов режим | Apache Hive също има по-висока закъснение заради изпълнението на задачата MapReduce във фонов режим |
Съвместимост с Hadoop | Apache Pig работи на MapReduce | Apache Hive също работи над MapReduce |
дефиниция | Apache Pig е отворен код, система за поток от високо ниво на данни, която ви прави проста езикова платформа, подходящо позната като Pig Latin, която може да се използва за манипулиране на данни и заявки. | Apache Hive е с отворен код и подобен на SQL, използван за аналитични заявки |
Използван език | Apache Pig използва език за процедурен поток на данни, наречен Pig Latin | Apache 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 / ODBC | Apache 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, тяхното значение, сравнение между главата, ключови разлики, таблица за сравнение и заключение. Можете също да разгледате следните статии, за да научите повече -
- Въпроси за интервю за разработчика на Hadoop
- Хадоп срещу кошер
- Как да разбиете интервюто за разработчици на Hadoop?
- Apache Hive срещу Apache HBase
- Apache Hadoop срещу Apache Spark