請允許我很無聊的把飛機和火車拿來做比較,因為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中的表,只是提供了便捷性,前面章節已...