【问题标题】:Loading files into hadoop将文件加载到hadoop
【发布时间】:2015-11-27 17:49:12
【问题描述】:

我有一个目录结构,其中包含本地文件系统上的数据。我需要将它复制到 Hadoop 集群。

目前我找到了三种方法:

  • 使用“hdfs dfs -put”命令
  • 使用 hdfs nfs 网关
  • 在每个数据节点上通过 nfs 挂载我的本地目录并使用 distcp

我是否缺少任何其他工具?其中哪一种是最快的复制方式?

【问题讨论】:

    标签: hadoop hdfs


    【解决方案1】:

    我认为hdfs dfs -put 或hdfs dfs -copyFromLocal 是最简单的方法。

    如果您有很多数据(很多文件),您可以通过编程方式复制它们。

    FileSystem fs = FileSystem.get(conf);
    fs.copyFromLocalFile(new Path("/home/me/localdirectory/"),   new Path("/me/hadoop/hdfsdir"));
    

    【讨论】:

    • 我真的对最快的方式很感兴趣。如果我一次复制多个文件,“dfs -put”是否能够并行复制它们?
    • 我做了一点谷歌搜索,我认为这是要走的路。您真正拥有多少数据?
    • 我认为,以编程方式处理数据会更快。 hdfs dfs -put 命令作为单线程工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-24
    • 1970-01-01
    • 2017-09-18
    相关资源
    最近更新 更多