2013-07-30 47 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