您好,登錄后才能下訂單哦!
這篇文章主要介紹了hive+Sqoop+Flume的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
HDFS => 海量數據的存儲 MapReduce => 海量數據的分析和處理 YARN => 集群資源的管理和作業調度
直接使用MapReduce處理大數據,將面臨以下問題:
- MapReduce 開發難度大,學習成本高(wordCount => Hello World) - Hdfs文件沒有字段名、沒有數據類型,不方便進行數據的有效管理 - 使用MapReduce框架開發,項目周期長,成本高
Hive是基于Hadoop的一個數據倉庫工具,可以將 結構化的數據文件 映射為一張表 (類似于RDBMS中的表),并提供類SQL查詢功能;Hive是由Facebook開源,用于解 決海量結構化日志的數據統計。
* Hive本質是:將 SQL 轉換為 MapReduce 的任務進行運算 * 底層由HDFS來提供數據存儲 * 可以將Hive理解為一個:將 SQL 轉換為 MapReduce 任務的工具
數據倉庫(Data Warehouse)是一個面向主題的、集成的、相對穩定的、反映歷史變 化的數據集合,主要用于管理決策。(數據倉庫之父比爾·恩門,1991年提出)。
* 數據倉庫的目的:構建面向分析的、集成的數據集合;為企業提供決策支持 * 數據倉庫本身不產生數據,數據來源與外部 * 存儲了大量數據,對這些數據的分析和處理不可避免的用到Hive
由于 Hive 采用了類似SQL 的查詢語言 HQL(Hive Query Language),因此很容易將 Hive 理解為數據庫。其實從結構上來看,Hive 和傳統的關系數據庫除了擁有類似的 查詢語言,再無類似之處。
* 查詢語言相似。HQL <=> SQL 高度相似 由于SQL被廣泛的應用在數據倉庫中,因此,專門針對Hive的特性設計了類SQL的查詢語言 HQL。熟悉SQL開發的開發者可以很方便的使用Hive進行開發。 * 數據規模。Hive存儲海量數據;RDBMS只能處理有限的數據集; 由于Hive建立在集群上并可以利用MapReduce進行并行計算,因此可以支持很大規模的數 據;而RDBMS可以支持的數據規模較小。 * 執行引擎。Hive的引擎是MR/Tez/Spark/Flink;RDBMS使用自己的執行引擎 Hive中大多數查詢的執行是通過 Hadoop 提供的 MapReduce 來實現的。而RDBMS通常 有自己的執行引擎。 * 數據存儲。Hive保存在HDFS上;RDBMS保存在本地文件系統 或 裸設備 Hive 的數據都是存儲在 HDFS 中的。而RDBMS是將數據保存在本地文件系統或裸設備 中。 * 執行速度。Hive相對慢(MR/數據量);RDBMS相對快; Hive存儲的數據量大,在查詢數據的時候,通常沒有索引,需要掃描整個表;加之Hive使 用MapReduce作為執行引擎,這些因素都會導致較高的延遲。而RDBMS對數據的訪問通常 是基于索引的,執行延遲較低。當然這個低是有條件的,即數據規模較小,當數據規模大到 超過數據庫的處理能力的時候,Hive的并行計算顯然能體現出并行的優勢。 * 可擴展性。Hive支持水平擴展;通常RDBMS支持垂直擴展,對水平擴展不友好 Hive建立在Hadoop之上,其可擴展性與Hadoop的可擴展性是一致的(Hadoop集群規模 可以輕松超過1000個節點)。而RDBMS由于 ACID 語義的嚴格限制,擴展行非常有限。目 前最先進的并行數據庫 Oracle 在理論上的擴展能力也只有100臺左右。 * 數據更新。Hive對數據更新不友好;RDBMS支持頻繁、快速數據更新Hive是針對數據倉庫應用設計的,數據倉庫的內容是讀多寫少的。因此,Hive中不建議對 數據的改寫,所有的數據都是在加載的時候確定好的。而RDBMS中的數據需要頻繁、快速的 進行更新。
** 安裝python-devel開發包
1.概述 有時在安裝某些軟件的時候,會報錯:
Error: must have python development packages for 2.4, 2.5, 2.6 or 2.7. Could not find Python.h.Please install python2.4-devel, python2.5-devel, python2.6-devel or python2.7-devel
這是因為缺少python開發包的原因。
2.解決方案
如果你使用的是centOS系統,或者支持yum的系統,那么可以通過如下方式進行安裝:
yum search python | grep -i devel
通過上面命令會找到devel開發包,然后再運行下面命令進行安裝:
yum install python-devel.x86_64
感謝你能夠認真閱讀完這篇文章,希望小編分享的“hive+Sqoop+Flume的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。