1. 程式人生 > >區分 hdfs hbase hive hbase適用場景

區分 hdfs hbase hive hbase適用場景

越來越多的人選擇學習大資料,那關於大資料技術中hdfs hbase hive hbase適用場景一起來了解一下。

Hive 不想用程式語言開發MapReduce的朋友,熟悉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作為資料儲存,放那些進行一些操作會改變的資料。 hbase與hive都是架構在hadoop之上的。都是用hadoop作為底層儲存。而hbase是作為分散式資料庫,而hive是作為分散式資料倉庫。當然hive還是借用hadoop的MapReduce來完成一些hive中的命令的執行。

什麼場景下應用Hbase? 成熟的資料分析主題,查詢模式已經確立,並且不會輕易改變。 傳統的關係型資料庫已經無法承受負荷,高速插入,大量讀取。 適合海量的,但同時也是簡單的操作(例如:key-value)。

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高效的多

以上關於大資料技術中hdfs hbase hive hbase適用場景,想要繼續瞭解關於大資料技術可以參考加米穀