亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問一下Hadoop 用Hive還是HBase?

請問一下Hadoop 用Hive還是HBase?

慕哥6287543 2019-10-21 14:10:41
Hadoop 用Hive還是HBase
查看完整描述

4 回答

?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

這個要根據自己處理數據的方式來選擇。
1、Hive是支持SQL語句的,執行會調用mapreduce,所以延遲比較高;
2、HBase是面向列的分布式數據庫,使用集群環境的內存做處理,效率會比hive要高,但是不支持sql語句
Hadoop開發和運行處理大規模數據,需要用hbase做數據庫,但由于hbase沒有類sql查詢方式,所以操作和計算數據非常不方便,于是整合hive,讓hive支撐在hbase數據庫層面的 hql查詢,hive也即做數據倉庫。

查看完整回答
反對 回復 2019-10-26
?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

你先明白數據倉庫的作用--存儲歷史數據-進而對數據進行分析,只提供查詢-不提供修改

1。Hive 的目標是做成數據倉庫,所以它提供了SQL,提供了文件-表的映射關系,又由于Hive基于HDFS,所以不提供Update,因為HDFS本身就不支持。
2.HBase 是NoSQL數據庫-所以不要跟傳統混淆并談-NoSQL 提供的是另一種思路來滿足高性能的需求,而這些是傳統數據庫的短板,與傳統數據庫的理念不一樣
3.load data 這個可以自己去查。Hbase要使用自己的API
4.是的。
5.這句話不對。
6.映射就是結構對應-如文件每一行的第一個字段-映射到Hive表的第一個字段
類似Hibernate的語法解析。
Hive本身實現了一套語法結構也就是操作符。如掃描文件等,最終記本都會轉換成MapReduce來運行

查看完整回答
反對 回復 2019-10-26
?
呼如林

TA貢獻1798條經驗 獲得超3個贊

1. Hive中的表是純邏輯表,就只是表的定義等,即表的元數據。Hive本身不存儲數據,它完全依賴HDFS和MapReduce。這樣就可以將結構化的數據文件映射為為一張數據庫表,并提供完整的SQL查詢功能,并將SQL語句最終轉換為MapReduce任務進行運行。 而HBase表是物理表,適合存放非結構化的數據。
2. Hive是基于MapReduce來處理數據,而MapReduce處理數據是基于行的模式;HBase處理數據是基于列的而不是基于行的模式,適合海量數據的隨機訪問。
3. HBase的表是疏松的存儲的,因此用戶可以給行定義各種不同的列;而Hive表是稠密型,即定義多少列,每一行有存儲固定列數的數據。
4. Hive使用Hadoop來分析處理數據,而Hadoop系統是批處理系統,因此不能保證處理的低遲延問題;而HBase是近實時系統,支持實時查詢。
5. Hive不提供row-level的更新,它適用于大量append-only數據集(如日志)的批任務處理。而基于HBase的查詢,支持和row-level的更新。
6. Hive提供完整的SQL實現,通常被用來做一些基于歷史數據的挖掘、分析。而HBase不適用與有join,多級索引,表關系復雜的應用場景。



查看完整回答
反對 回復 2019-10-26
  • 4 回答
  • 0 關注
  • 2001 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號