我想澄清以下几点:
HDFS 如何获取数据?
它是否以块的形式从某些数据库中获取数据,如果是这种情况,则意味着我们需要一个中央数据库。或者,它是否直接从各个最后一台机器获取数据,例如在这种情况下是一个所有交易都在发生的商店系统,然后将其保存在块中?
我知道 HDFS 是如何工作的(谷歌搜索了很多),但只是对上述几点感到困惑。
感谢任何帮助...
谢谢, 潘卡伊
你的问题对我来说听起来不是很清楚。这取决于将数据写入 HDFS 的客户端。HDFS 不会自行从任何地方提取数据。HDFS 客户端的职责是从源中提取数据并将其转储到 HDFS。源可以是任何东西,从您的后端数据库或到您的前端机器。
客户端从源读取数据并将其缓存到临时本地文件中。当这个本地文件积累了超过一个 HDFS 块大小的数据时,客户端在 NameNode 的帮助下将其写入 DataNode。
因此,这取决于您从何处读取数据。如果这不是您要找的,我很抱歉。如果是这种情况,请向我提供更多详细信息,我会相应地更新答案。
您需要自己将数据加载到 hdfs 中。如果您使用的是 hive 表,则可以使用以下查询: hive> LOAD DATA [LOCAL] INPATH 'path to data file' INTO TABLE yourTableName