Pig和Hive的對比

Pig編程

Pig是一種編程語言,它簡化了Hadoop常見的工做任務。Pig可加載數據、表達轉換數據以及存儲最終結果。Pig內置的操做使得半結構化數據變得有意義(如日誌文件)。同時Pig可擴展使用Java中添加的自定義數據類型並支持數據轉換。編程語言

 

Hive分佈式

Hive在Hadoop中扮演數據倉庫的角色。Hive添加數據的結構在HDFS(hive superimposes structure on data in HDFS),並容許使用相似於SQL語法進行數據查詢。與Pig同樣,Hive的核心功能是可擴展的。工具

 

何時用Pig?oop

當你須要處理非格式化的分佈式數據集時,若是想充分利用本身的SQL基礎,能夠選擇Pig。使用Pig你無需本身構建MapReduce任務,有SQL背景的話學習起來比較簡單,開發速度也很快。性能

 

何時用Hive?學習

有時咱們須要收集一段時間的數據來進行分析,而Hive就是分析歷史數據絕佳的工具。要注意的是數據必須有必定的結構才能充分發揮Hive的功能。用Hive來進行實時分析可能就不是太理想了,由於它不能達到實時分析的速度要求(實時分析能夠用HBase,Facebook用的就是HBase)。日誌

 

注意:開發

儘管Pig性能強勁,要使用它開發人員必須掌握SQL以外的新知識,而Hive則與SQL很是相像。儘管Hive查詢語言HQL的命令有所侷限,它仍是取得了必定的成功。Hive爲MapReduce提供了優秀的開源實現,它在分佈式數據處理的同時避免了SQL對於數據存儲的侷限。get

因此如今使用Hive比較多,基本上不多用Pig!!!

相關文章
相關標籤/搜索