您好,登錄后才能下訂單哦!
本篇內容介紹了“Pig和Hive的區別是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Pig是一種編程語言,它簡化了Hadoop常見的工作任務。Pig可加載數據、表達轉換數據以及存儲最終結果。Pig內置的操作使得半結構化數據變得有意義(如日志文件)。同時Pig可擴展使用Java中添加的自定義數據類型并支持數據轉換。 Hive在Hadoop中扮演數據倉庫的角色。Hive添加數據的結構在HDFS(hive superimposes structure on data in HDFS),并允許使用類似于SQL語法進行數據查詢。與Pig一樣,Hive的核心功能是可擴展的。 Hive更適合于數據倉庫的任務,Hive主要用于靜態的結構以及需要經常分析的工作。Hive與SQL相似促使其成為Hadoop與其他BI工具結合的理想交集。Pig賦予開發人員在大數據集領域更多的靈活性,并允許開發簡潔的腳本用于轉換數據流以便嵌入到較大的應用程序。Pig相比Hive相對輕量,它主要的優勢是相比于直接使用Hadoop Java APIs可大幅削減代碼量。 本質上說說Pig與Hive。 經過Pig Latin的轉換后變成了一道MapReduce的作業,通過MapReduce多個線程,進程或者獨立系統并行執行處理的結果集進行分類和歸納。Map() 和 Reduce() 兩個函數會并行運行,即使不是在同一的系統的同一時刻也在同時運行一套任務,當所有的處理都完成之后,結果將被排序,格式化,并且保存到一個文件。Pig利用MapReduce將計算分成兩個階段,第一個階段分解成為小塊并且分布到每一個存儲數據的節點上進行執行,對計算的壓力進行分散,第二個階段聚合第一個階段執行的這些結果,這樣可以達到非常高的吞吐量,通過不多的代碼和工作量就能夠驅動上千臺機器并行計算,充分的利用計算機的資源,打消運行中的瓶頸。 也就是說,Pig最大的作用就是對mapreduce算法(框架)實現了一套shell腳本 ,類似我們通常熟悉的SQL語句,在Pig中稱之為Pig Latin,在這套腳本中我們可以對加載出來的數據進行排序、過濾、求和、分組(group by)、關聯(Joining),Pig也可以由用戶自定義一些函數對數據集進行操作,也就是傳說中的UDF(user-defined functions)。 結論性的閱讀感覺是:Pig用來寫一些即時腳本吧,比如領導問你要份數據,半個小時要出來之類;Hive嘛,就是一個產品經理過來,問這個啥回事?于是你Hive一下,一個簡潔的類SQL語句...Done!
“Pig和Hive的區別是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。