Pig數據庫
一種操做hadoop的輕量級腳本語言,最初又雅虎公司推出,不過如今正在走下坡路了。當初雅虎本身慢慢退出pig的維護以後將它開源貢獻到開源社區由全部愛好者來維護。不過如今仍是有些公司在用,不過我認爲與其使用pig不如使用hive。:)工具
Pig是一種數據流語言,用來快速輕鬆的處理巨大的數據。oop
Pig包含兩個部分:Pig Interface,Pig Latin。大數據
Pig能夠很是方便的處理HDFS和HBase的數據,和Hive同樣,Pig能夠很是高效的處理其須要作的,經過直接操做Pig查詢能夠節省大量的勞動和時間。當你想在你的數據上作一些轉換,而且不想編寫MapReduce jobs就能夠用Pig.spa
Hive索引
不想用程序語言開發MapReduce的朋友好比DB們,熟悉SQL的朋友可使用Hive開離線的進行數據處理與分析工做。接口
注意Hive如今適合在離線下進行數據的操做,就是說不適合在掛在真實的生產環境中進行實時的在線查詢或操做,由於一個字「慢」。相反hadoop
起源於FaceBook,Hive在Hadoop中扮演數據倉庫的角色。創建在Hadoop集羣的最頂層,對存儲在Hadoop羣上的數據提供類SQL的接口進行操做。你能夠用 HiveQL進行select,join,等等操做。開發
若是你有數據倉庫的需求而且你擅長寫SQL而且不想寫MapReduce jobs就能夠用Hive代替。社區
HBase
HBase做爲面向列的數據庫運行在HDFS之上,HDFS缺少隨即讀寫操做,HBase正是爲此而出現。HBase以Google BigTable爲藍本,以鍵值對的形式存儲。項目的目標就是快速在主機內數十億行數據中定位所需的數據並訪問它。
HBase是一個數據庫,一個NoSql的數據庫,像其餘數據庫同樣提供隨即讀寫功能,Hadoop不能知足實時須要,HBase正能夠知足。若是你須要實時訪問一些數據,就把它存入HBase。
你能夠用Hadoop做爲靜態數據倉庫,HBase做爲數據存儲,放那些進行一些操做會改變的數據。
Pig VS Hive
Hive更適合於數據倉庫的任務,Hive主要用於靜態的結構以及須要常常分析的工做。Hive與SQL類似促使 其成爲Hadoop與其餘BI工具結合的理想交集。
Pig賦予開發人員在大數據集領域更多的靈活性,並容許開發簡潔的腳本用於轉換數據流以便嵌入到較大的 應用程序。
Pig相比Hive相對輕量,它主要的優點是相比於直接使用Hadoop Java APIs可大幅削減代碼量。正由於如此,Pig仍然是吸引大量的軟件開發人員。
Hive和Pig均可以與HBase組合使用,Hive和Pig還爲HBase提供了高層語言支持,使得在HBase上進行數據統計處理變的很是簡單
Hive VS HBase
Hive是創建在Hadoop之上爲了減小MapReduce jobs編寫工做的批處理系統,HBase是爲了支持彌補Hadoop對實時操做的缺陷的項目 。
想象你在操做RMDB數據庫,若是是全表掃描,就用Hive+Hadoop,若是是索引訪問,就用HBase+Hadoop 。
Hive query就是MapReduce jobs能夠從5分鐘到數小時不止,HBase是很是高效的,確定比Hive高效的多。