1. 程式人生 > >Hadoop生態上幾個技術的關係與區別:hive、pig、hbase 關係與區別

Hadoop生態上幾個技術的關係與區別:hive、pig、hbase 關係與區別

Pig

一種操作hadoop的輕量級指令碼語言,最初又雅虎公司推出,不過現在正在走下坡路了。當初雅虎自己慢慢退出pig的維護之後將它開源貢獻到開源社群由所有愛好者來維護。不過現在還是有些公司在用,不過我認為與其使用pig不如使用hive。:)

Pig是一種資料流語言,用來快速輕鬆的處理巨大的資料。

Pig包含兩個部分:Pig Interface,Pig Latin。

Pig可以非常方便的處理HDFS和HBase的資料,和Hive一樣,Pig可以非常高效的處理其需要做的,通過直接操作Pig查詢可以節省大量的勞動和時間。當你想在你的資料上做一些轉換,並且不想編寫MapReduce jobs就可以用Pig.

Hive

不想用程式語言開發MapReduce的朋友比如DB們,熟悉SQL的朋友可以使用Hive開離線的進行資料處理與分析工作。

注意Hive現在適合在離線下進行資料的操作,就是說不適合在掛在真實的生產環境中進行實時的線上查詢或操作,因為一個字“慢”。相反

起源於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高效的多。

相關推薦

Hadoop生態技術關係區別hivepighbase 關係區別

Pig 一種操作hadoop的輕量級指令碼語言,最初又雅虎公司推出,不過現在正在走下坡路了。當初雅虎自己慢慢退出pig的維護之後將它開源貢獻到開源社群由所有愛好者來維護。不過現在還是有些公司在用,不過

hadoop--Hadoop生態技術的關系區別hivepighbase 關系區別

正是 讀寫操作 java 結構化 映射 map 外部表 base metastore Pig 一種操作hadoop的輕量級腳本語言,最初又雅虎公司推出,不過現在正在走下坡路了。當初雅虎自己慢慢退出pig的維護之後將它開源貢獻到開源社區由所有愛好者來維護。不過現在還是有些公司

Hadoop生態HivePigHBase 關係區別

Pig 一種操作hadoop的輕量級指令碼語言,最初又雅虎公司推出,不過現在正在走下坡路了。當初雅虎自己慢慢退出pig的維護之後將它開源貢獻到開源社群由所有愛好者來維護。不過現在還是有些公司在用,不過我認為與其使用pig不如使用hive。:) Pig是一種資料流語言,

騰訊前端程式設計師第一輪面試,這些問題你能答

今天w3cschool這裡給小夥伴們分享騰訊前端第一輪面試問題。 (因為篇幅限制,面經答案小夥伴們可以在w3cschool app或者w3cschool官網上閱讀) 騰訊前端第一輪面試題: 1、自我介紹 2、Angular的特性 3、假設有一個大型表單,有幾百個元件,然後動

InstallShield使用——技術問題介紹

InstallShield使用——幾個技術問題介紹 1幾個技術問題介紹 1.1資料庫設定 在安裝程式中設定資料庫,有兩種方法:一種採用命令列附加資料庫檔案,一種是通過SQL Script指令碼建立資料庫,對於編寫SQL Script過於複雜,或建立資料庫時間過長時建議採用第一種方法。 1.1.1命令列附加資

Hadoop: MapReduce2的基本示例

1) WordCount  這個就不多說了,滿大街都是,網上有幾篇對WordCount的詳細分析 這二篇都寫得不錯, 特別幾張圖畫得很清晰 2) 去重處理(Distinct) 類似於db中的select distinct(x) fr

java面試中可能常問的技術問題及答案

string和stringBuffer的區別; a.      常量和變數的區別,string雖然可以在後面增加其他字串,但是增加後就成了另一個物件,所以是個常量,stringBuffer字串改變後; b.     當字串需要經常改變的時候,一般用StringBuffer,

推薦程式設計師收藏的技術社群以及工具網站

常用技術社群 1、GitHub 網站地址:https://github.com/ 全球最大的開源社群,這點我想大家都清楚。但是今年被微軟收購,之前很多的人在那說可能以後GitHub就會變樣,但是事實並非如此,目前還沒有收到什麼資訊,所以可以放心使用。GitHub的很多優

Java開發推薦的技術網站

以下是我收集的Java開發牛人必備的網站。這些網站可以提供資訊,以及一些很棒的講座, 還能解答一般問題、面試問題等。質量是衡量一個網站的關鍵因素,我個人認為這些網站質量都很好。接下來,我會跟大家分享我是如何使用這些網站學習和娛樂的。或許你會認為有些網站適合

關於android 視訊壓縮的技術,java層面就可以解決

本文就是記錄了下技術的名稱和方向,以供自己以後使用,所以很簡陋,大家做參考就好。 手機視訊壓縮 需求: android 聊天專案需要加入短視訊傳送功能 ,手機視訊錄製的短視訊過大,必須壓縮。 解決方案:     1:使用ffmpeg技術   是個c 類庫,很牛比,很多軟

請求網頁常用庫的用法

完成 data report 第三方庫 () .get 參數說明 進度 函數 1、urllib urlopen()方法urllib.urlopen(url[, data[, proxies]]) :創建一個表示遠程url的類文件對象,然後像本地文件一樣操作這個類文件對

python中常見正則例子

匹配手機號: 1 phone_str = "hey my name is alex, and my phone number is 13651054607, please call me if you are pretty!" 2 phone_str2 = "hey my name i

Ajax簡單的案例(ajax_使用者唯一驗證ajax_返回xml資料的處理(包括分頁處理)

Ajax幾個簡單的案例(ajax_使用者唯一驗證、ajax_返回xml資料的處理(包括分頁處理) 當然開發的前提是把相應的包匯入專案中(開發環境myeclipse) ajax_使用者唯一驗證(servlet): 如圖在myeclipse中的ajax_servlet專案中的index.jsp實現頁面的顯

linux裝置驅動中重要的3個數據結構 &&Linux裝置驅動模型基本資料結構模型kobject,kset,subsystem

大多數基本的驅動操作涉及到核心的3個重要資料結構:file_operations,file 和inode。 我們已經擁有一些裝置號,但是如何將其與驅動操作連在一起呢?file_operations結構就是這個橋樑,這個結構體定義在<Linux/fs.h>中,它是

extjs4.1 grid columns處理小問題(第一combobox 中的store帶引數到後臺,第二model資料是一個object)

第一個問題:combobox中的store可以通過帶引數來區分。 Ext.define("zyc.view.test.ComboboxStoreParam",{ extend:'Ext.panel.Panel', title : '測試

分布式爬蟲系統設計實現實戰爬取京東蘇寧易購全網手機商品數據+MySQLHBase存儲

大數據 分布式 爬蟲 Java Redis [TOC] 1 概述 在不用爬蟲框架的情況,經過多方學習,嘗試實現了一個分布式爬蟲系統,並且可以將數據保存到不同地方,類似MySQL、HBase等。 基於面向接口的編碼思想來開發,因此這個系統具有一定的擴展性,有興趣的朋友直接看一下代碼,就能理

大資料(二十)hive分割槽表修改表語句資料的匯入匯出

一、分割槽表         分割槽表實際上就是對應一個HDFS檔案系統上的一個獨立的資料夾,該資料夾下是該分割槽所有的資料檔案,hive中的分割槽就是分目錄,把一個大的資料集更具業務需求分割成小的資料集。在查詢時通過where子句中的

呼叫中心繫統所使用技術概念

轉載請註明出處:http://blog.csdn.net/dongdong9223/article/details/83055044 本文出自【我是幹勾魚的部落格】 1 技術概念 1.1 PBX (專用交換機)簡而言之就是集團電話,它被廣泛地運用在企業辦公機構中

Spark技術體系MapReduce,Hive,Storm技術關係區別

大資料體系架構: Spark記憶體計算與傳統MapReduce區別: SparkSQL與Hive的區別: SparkSQL替換的是Hive的查詢引擎,Hive是一種基於HDFS的資料倉庫,並且提供了基於SQL模型的,針對存了大資料的資料倉庫,進行分散式互動查

大資料關鍵技術分析,Hadoop主要有哪優點?

古代,人們用牛來拉重物,當一頭牛拉不動一根圓木時,他們不曾想過培育更大更壯的牛。同樣,在面對計算能力不足時,我們也應嘗試著結合使用更多的計算機系統。 Hadoop就是基於這樣的理念設計。Hadoop是一個由Apache基金會所開發的分散式系統基礎架構,計算分析處理所涉及的框架,允許多臺裝置一起工