我是Hadoop的新手。我對我的數據運行了縮減地圖,現在我想查詢它,以便將其放入我的網站。 Apache Hive是最好的方法嗎?我將不勝感激任何幫助。如何從HDFS獲取數據?蜂巢?
3
A
回答
3
0
如果你只是想從HDFS獲取數據,那麼是的,你可以通過Hive來實現。 但是,如果您的數據已經組織(例如,在列中),您將從中獲益最多。我們舉一個例子:map-reduce作業生成一個名爲wordcount.csv的csv文件,其中包含兩行:word和count。這個csv文件在HDFS上。
現在讓我們假設你想知道單詞「gloubiboulga」的出現。你可以簡單地通過下面的代碼實現這一點:
CREATE TABLE data
(
word STRING,
count INT,
text2 STRING
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ",";
LOAD DATA LOCAL INPATH '/wordcount.csv'
OVERWRITE INTO TABLE data;
select word, count from data where word=="gloubiboulga";
請注意,雖然這種語言看起來像高SQL,你還是要了解它的幾件事情。
1
歡迎來到Hadoop!
我高度建議您觀看Cloudera Essentials for Apache Hadoop | Chapter 5: The Hadoop Ecosystem並熟悉從HDFS羣集傳輸入站和出站數據的不同方法。該視頻是易於觀察和描述優勢/劣勢每個工具,但是這個大綱應該給你的Hadoop生態系統的基礎:
- Flume - 數據集成和平面文件導入到HDFS。專爲異步數據流(例如日誌文件)而設計。分佈式,可擴展和可擴展。支持各種端點。允許在加載到HDFS之前對數據進行預處理。
- Sqoop - 結構化數據(RDBMS)和HDFS的雙向傳輸。允許向HDFS增量導入。 RDBMS必須支持JDBC或ODBC。
- Hive - 類似於SQL的Hadoop接口。需要表格結構。 JDBC和/或ODBC是必需的。
- Hbase - 允許HDFS交互式訪問。位於HDFS之上並將結構應用於數據。允許隨機讀取,與羣集水平縮放。不是完整的查詢語言;只允許獲取/放置/掃描操作(可與Hive和/或Impala一起使用)。行鍵索引僅適用於數據。不使用Map Reduce範例。
- Impala - 與Hive類似,它是用於查詢存儲在HDFS中的大量數據的高性能SQL引擎。不使用Map Reduce。蜂巢的好選擇。
- Pig - 用於轉換大型數據集的數據流語言。允許在運行時定義的架構。PigServer(Java API)允許編程訪問。
注意:我假設您嘗試讀取的數據已經存在於HDFS中。但是,Hadoop生態系統中的一些產品可能對您的應用程序有用或作爲一般參考,因此我將它們包括在內。
相關問題
- 1. 在HDFS,HBase的和蜂巢
- 2. 蜂巢 - 如何與數據
- 3. 從蜂巢subquery1數據集成到其它子在蜂巢
- 4. 從計數蜂巢
- 5. 如何獲得在蜂巢
- 6. 如何提取蜂巢
- 7. 獲取所有在蜂巢
- 8. 蜂巢 - 在獲取鎖
- 9. 從蜂巢獲取增量數據到apache kylin的方法?
- 10. 蜂巢 - 獲取基於一列中有兩個蜂巢表
- 11. 導入到HDFS或蜂巢(直接地)
- 12. 的MapReduce,HDFS輸入,蜂巢表輸出
- 13. 如何從hdfs獲取特定數據?
- 14. 計數最蜂巢數據
- 15. 從蜂巢表
- 16. 獲得7天的數據與蜂巢
- 17. 蜂巢 - 從選擇組數據包含
- 18. 動態數據(蜂巢)
- 19. 發現在數據 - 蜂巢
- 20. 如何在蜂巢
- 21. 如何在蜂巢
- 22. 如何在蜂巢
- 23. 如何在蜂巢
- 24. 阿帕奇NiFi /蜂巢 - 商店合併鳴叫在HDFS,在蜂巢
- 25. 如何閱讀定製的HDFS與蜂巢
- 26. 蜂巢 - 表A如下 - 從另一個非嵌套蜂巢表
- 27. 獲取嘗試運行蜂巢查詢
- 28. 蜂巢:無法獲取不同類別
- 29. 爲蜂巢腳本獲取_SUCCESS文件
- 30. 獲取最大日在蜂巢