【问题标题】:hadoop copy a local file system folder to HDFShadoop 将本地文件系统文件夹复制到 HDFS
【发布时间】:2015-03-28 14:01:39
【问题描述】:

我需要将一个文件夹从本地文件系统复制到 HDFS。我找不到任何将文件夹(包括其所有子文件夹)移动到 HDFS 的示例

$ hadoop fs -copyFromLocal /home/ubuntu/Source-Folder-To-Copy HDFS-URI

【问题讨论】:

    标签: hadoop hdfs


    【解决方案1】:

    你可以试试:

    hadoop fs -put /path/in/linux /hdfs/path
    

    甚至

    hadoop fs -copyFromLocal /path/in/linux /hdfs/path
    

    默认情况下,putcopyFromLocal 都会递归地将目录上传到 HDFS。

    【讨论】:

    • 感谢您的回答,localpath 和 hdfspath 的示例将非常有帮助-
    【解决方案2】:

    简而言之

    hdfs dfs -put <localsrc> <dest>

    用一个例子详细说明:

    在将文件放入 HDFS 之前检查源和目标

    [cloudera@quickstart ~]$ ll files/
    total 132
    -rwxrwxr-x 1 cloudera cloudera  5387 Nov 14 06:33 cloudera-manager
    -rwxrwxr-x 1 cloudera cloudera  9964 Nov 14 06:33 cm_api.py
    -rw-rw-r-- 1 cloudera cloudera   664 Nov 14 06:33 derby.log
    -rw-rw-r-- 1 cloudera cloudera 53655 Nov 14 06:33 enterprise-deployment.json
    -rw-rw-r-- 1 cloudera cloudera 50515 Nov 14 06:33 express-deployment.json
    
    [cloudera@quickstart ~]$ hdfs dfs -ls
    Found 1 items
    drwxr-xr-x   - cloudera cloudera          0 2017-11-14 00:45 .sparkStaging
    

    使用-put-copyFromLocal命令复制文件HDFS

    [cloudera@quickstart ~]$ hdfs dfs -put files/ files
    

    在 HDFS 中验证结果

    [cloudera@quickstart ~]$ hdfs dfs -ls
    Found 2 items
    drwxr-xr-x   - cloudera cloudera          0 2017-11-14 00:45 .sparkStaging
    drwxr-xr-x   - cloudera cloudera          0 2017-11-14 06:34 files
    
    [cloudera@quickstart ~]$ hdfs dfs -ls files
    Found 5 items
    -rw-r--r--   1 cloudera cloudera       5387 2017-11-14 06:34 files/cloudera-manager
    -rw-r--r--   1 cloudera cloudera       9964 2017-11-14 06:34 files/cm_api.py
    -rw-r--r--   1 cloudera cloudera        664 2017-11-14 06:34 files/derby.log
    -rw-r--r--   1 cloudera cloudera      53655 2017-11-14 06:34 files/enterprise-deployment.json
    -rw-r--r--   1 cloudera cloudera      50515 2017-11-14 06:34 files/express-deployment.json
    

    【讨论】:

      【解决方案3】:

      如果你从本地复制一个文件夹,那么它会将文件夹及其所有子文件夹复制到 HDFS。

      要将文件夹从本地复制到 hdfs,您可以使用

      hadoop fs -put localpath
      

      hadoop fs -copyFromLocal localpath
      

      hadoop fs -put localpath hdfspath
      

      hadoop fs -copyFromLocal localpath hdfspath
      

      注意:

      如果未指定 hdfs 路径,则文件夹副本将复制到与该文件夹同名的 hdfs。

      从hdfs复制到本地

       hadoop fs -get hdfspath localpath
      

      【讨论】:

      • 感谢您的回答,localpath 和 hdfspath 的示例将非常有帮助
      • localpath, hdfspath 可以对刚接触hadoop的人有所帮助
      【解决方案4】:

      你可以使用:

      1.从本地文件加载数据到HDFS

      语法:$hadoop fs –copyFromLocal

      EX: $hadoop fs –copyFromLocal localfile1 HDIR

      2。将数据从 HDFS 复制到本地

      系统:$hadoop fs –copyToLocal

      EX: $hadoop fs –copyToLocal hdfs/filename myunx;

      【讨论】:

        【解决方案5】:

        要将文件夹文件从本地复制到hdfs,可以使用以下命令

        hadoop fs -put /path/localpath  /path/hdfspath
        

        hadoop fs -copyFromLocal /path/localpath  /path/hdfspath
        

        【讨论】:

          【解决方案6】:

          导航到您可以执行 hadoop 命令的“/install/hadoop/datanode/bin”文件夹或路径:

          将文件放入 HDFS: 格式:hadoop fs -put "本地系统路径"/filename.csv "HDFS目标路径"

          例如)./hadoop fs -put /opt/csv/load.csv /user/load

          这里的 /opt/csv/load.csv 是我本地 linux 系统的源文件路径。

          /user/load 表示“hdfs://hacluster/user/load”中的HDFS集群目标路径

          要将文件从 HDFS 获取到本地系统: 格式:hadoop fs -get "/HDFSsourcefilepath" "/localpath"

          例如)hadoop fs -get /user/load/a.csv /opt/csv/

          执行上述命令后,HDFS中的a.csv将被下载到本地linux系统的/opt/csv文件夹中。

          这个上传的文件也可以通过 HDFS NameNode web UI 看到。

          【讨论】:

            【解决方案7】:

            使用以下命令 -

            hadoop fs -copyFromLocal <local-nonhdfs-path> <hdfs-target-path>
            
            hadoop fs -copyToLocal   <hdfs-input-path> <local-nonhdfs-path>
            

            或者您也使用 spark FileSystem 库来获取或放置 hdfs 文件。

            希望这有帮助。

            【讨论】:

              猜你喜欢
              • 2012-11-21
              • 1970-01-01
              • 2013-07-24
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2014-08-29
              相关资源
              最近更新 更多