【问题标题】:How do you put files in a hdfs directory with space in the directory name?如何将文件放在目录名称中带有空格的 hdfs 目录中?
【发布时间】:2018-04-30 22:32:18
【问题描述】:

我正在尝试将文件放入 HDFS 目录中,目录名称包含空格。 出现以下问题:

假设 hdfs 目录“sub dir1”已经存在。 现在我尝试使用以下命令将文件 sub.txt 放在此目录中:

hadoop fs -put sub.txt /user/jdutt/TempTesting/output//sub\ dir1/

它不会将文件放在“sub dir1”目录中;相反,它会创建另一个名为“sub%20dir1”的目录并将文件放在那里。 如何解决这个问题?

【问题讨论】:

  • 您使用的是哪个版本的 Hadoop?为我工作。
  • 可以使用hadoop fs -mkdir "dir with space" 创建一个目录,但使用相同的引用无法填充这一事实是hadoop 中的一个错误。我尝试了很多不同的方法来使用'" 的组合进行转义,但都没有奏效。很奇怪。

标签: hadoop hdfs


【解决方案1】:

请用 %20 替换空格,可能会解决您的问题。

【讨论】:

    【解决方案2】:

    请尝试运行命令

    hadoop fs -put sub.txt /user/jdutt/TempTesting/output/'sub dir1'/
    

    我已经在 hadoop 版本 1.0.4 上对其进行了测试,它正在运行。

    【讨论】:

      【解决方案3】:
      hadoop fs -copyFromLocal /home/cloudera/Documents/Hadoop/Hive%20Data/empdata hive_data
      

      它对我有用

      【讨论】:

        【解决方案4】:
        hadoop fs -put sub.txt "/user/jdutt/TempTesting/output/sub dir1"
        

        【讨论】:

          猜你喜欢
          • 2019-04-02
          • 2012-08-15
          • 2016-02-27
          • 2013-08-21
          • 1970-01-01
          • 1970-01-01
          • 2014-08-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多