【发布时间】:2015-11-27 17:49:12
【问题描述】:
我有一个目录结构,其中包含本地文件系统上的数据。我需要将它复制到 Hadoop 集群。
目前我找到了三种方法:
- 使用“hdfs dfs -put”命令
- 使用 hdfs nfs 网关
- 在每个数据节点上通过 nfs 挂载我的本地目录并使用 distcp
我是否缺少任何其他工具?其中哪一种是最快的复制方式?
【问题讨论】:
我有一个目录结构,其中包含本地文件系统上的数据。我需要将它复制到 Hadoop 集群。
目前我找到了三种方法:
我是否缺少任何其他工具?其中哪一种是最快的复制方式?
【问题讨论】:
我认为hdfs dfs -put 或hdfs dfs -copyFromLocal 是最简单的方法。
如果您有很多数据(很多文件),您可以通过编程方式复制它们。
FileSystem fs = FileSystem.get(conf);
fs.copyFromLocalFile(new Path("/home/me/localdirectory/"), new Path("/me/hadoop/hdfsdir"));
【讨论】:
hdfs dfs -put 命令作为单线程工作。