2013-07-30 81 views
0

我想對以下幾點做一些說明:數據來源HDFS

HDFS如何獲取數據?

它是否將某些數據庫中的數據分塊,如果是這種情況,那麼這意味着我們需要一箇中央數據庫。 或者,是否直接從單個最終端機器獲取數據,例如在這種情況下是指所有事務正在發生的商店系統,然後將其保存在區塊中?

我知道HDFS是如何工作的(用google搜索了很多),但對上面提到的幾點感到困惑。

感謝所有幫助...

感謝, 的Pankaj

+0

@SuvP:如果我的數據不是存儲在我的本地FS什麼? – Tariq

+0

@SuvP:請不要介意。我只是想說清楚。 – Tariq

+0

它從你的本地系統**(但不限於你的本地系統)獲取(它不會自動獲取)數據。你可以有其他的來源可以將數據導向HDFS,你可以使用'sqoop'傳輸數據到數據庫和Hive之間)。 HDFS是一個文件系統,用於處理大文件(GB,TB等)。如果它是本地系統上的文件,則必須使用'put'或'copyFromLocal'將數據放在HDFS上 –

回答

1

你的問題聽起來不給我很清楚。這取決於將數據寫入HDFS的客戶端。 HDFS不會從任何地方自行提取數據。您的HDFS客戶端有責任從數據源中提取數據並將其轉儲到HDFS中。源可以是任何東西,從您的後端數據庫或您的前端機器。

客戶端從源讀取數據並將其緩存到臨時本地文件中。當本地文件累積超過一個HDFS塊大小的數據時,客戶端在NameNode的幫助下將其寫入DataNode。

因此,它取決於您從哪裏閱讀數據。對不起,如果這不是你正在尋找的。如果是這種情況,請提供更多詳細信息,我會相應地更新答案。

0

您需要自行將數據載入hdfs。 你可以使用,如果你使用的蜂巢表下面的查詢: 蜂巢> LOAD DATA [LOCAL] INPATH「路徑數據文件」 INTO TABLE yourTableName