Можно ли назвать PIG и HIVE отдельными моделями программирования? - PullRequest
1 голос
/ 11 февраля 2011

Этот вопрос может звучать раздражающе и может не иметь никакого отношения к реальному программированию.Это результат небольшой дискуссии с моим коллегой.Он настаивал на том, что HIVE и PIG можно называть отдельными «моделями программирования», потому что когда вы пишете в них задания MapReduce, вам не нужно думать в MapReduce, особенно если вы программируете в HIVE.С точки зрения программиста, часть MapReduce полностью абстрагирована.Он полностью похож на SQL.

Но я с этим не согласен, поскольку скрипты, написанные на этих языках, в конечном итоге преобразуются в несколько заданий mapreduce.Таким образом, их можно назвать языками программирования более высокого уровня для программирования для одной и той же модели.И модель программирования слова должна рассматриваться с точки зрения лежащих в основе данных, ожидающих обработки, а не программиста.

Каково ваше мнение?

1 Ответ

2 голосов
/ 11 февраля 2011

Я бы определил это следующим образом: HIVE и PIG находятся на разных уровнях абстракции. Закрывающая аналогия - SQL и план выполнения запроса. Они оба решают одну и ту же проблему запроса к базе данных, но SQL является декларативным и указывает, каким должен быть результат, в то время как план выполнения запроса определяет действия для его достижения. В этом примере HIVE - это SQL, а PIG - план выполнения запроса.
Мы можем утверждать, что ВИЧ является декларативным и находится на более высоком уровне абстракции, чем императивная свинья. Таким образом, логически запрос HIVE может быть переведен в PIG.

...