Hadoop Pig與Hive的區別

2021-06-20 20:17:26 字數 759 閱讀 1175

請允許我很無聊的把飛機和火車拿來做比較,因為2者根本沒有深入的可比性,雖然兩者都是一種高速的交通工具,但是具體的作用範圍是截然不同的,就像hive和pig都是hadoop中的專案,並且hive和pig有很多共同點,但hive還似乎有點資料庫的影子,而pig基本就是乙個對mapreduce實現的工具(指令碼)。兩者都擁有自己的表達語言,其目的是將mapreduce的實現進行簡化,並且讀寫運算元據最終都是儲存在hdfs分布式檔案系統上。看起來pig和hive有些類似的地方,但也有些不同,來做乙個簡單的比較,先來看一張圖: 

檢視大圖這裡 

再讓我說幾句廢話: 

language 

在hive中可以執行  插入/刪除 等操作,但是pig中我沒有發現有可以 插入 資料的方法,請允許我暫且認為這是最大的不同點吧。 

schemas 

hive中至少還有乙個「表」的概念,但是pig中我認為是基本沒有表的概念,所謂的表建立在pig latin指令碼中,對與pig更不要提metadata了。 

partitions 

pig中沒有表的概念,所以說到分割槽對於pig來說基本免談,如果跟hive說「分割槽」(partition)他還是能明白的。 

server 

shell 

在pig 你可以執行一些個 ls 、cat 這樣很經典、很cool的命令,但是在使用hive的時候我壓根就沒有想過有這樣的需求。 

web inte***ce 

hive有,pig無 

jdbc/odbc 

pig無,hive有

Hive之 hive與hadoop的聯絡

hive與hadoop呼叫圖 解析 1 提交sql 交給驅動 2 驅動編譯 解析相關的字段表資訊 3 去metastore查詢相關的資訊 返回字段表資訊 4 編譯返回資訊 發給驅動 5 驅動傳送乙個執行計畫 交給執行引擎 6 執行計畫 三種形式 metastore namenode metastor...

hive的初步認識與hive的本質

hive是什麼?就從這兒開始學習。hive是建立在hadoop hdfs上的資料倉儲基礎架構。hive可以用來資料抽取轉換載入 etl hive定義了簡單的類sql查詢語句,稱為hql。hive是sql解析引擎,它將sql語句轉移成m r job,然後在hadoop上執行。hive的表其實就是hdf...

Hive 五 hive與hbase整合

配置 hive 與 hbase 整合的目的是利用 hql 語法實現對 hbase 資料庫的增刪改查操作,基本原理就是利用兩者本身對外的api介面互相進行通訊,兩者通訊主要是依靠hive hbase handler.jar工具類。但請注意 使用hive操作hbase中的表,只是提供了便捷性,前面章節已...