【问题标题】:Using bash to create a directory in HDFS if the directory does not exist如果目录不存在,使用 bash 在 HDFS 中创建目录
【发布时间】:2014-07-31 08:32:26
【问题描述】:

我想测试一个目录是否存在于 Hadoop 分布式文件系统 (HDFS) 中。如果目录不存在,我想创建它,否则什么都不做。

当我在http://jugnu-life.blogspot.com/2012/10/hadoop-fs-test-example.html修改代码时:

#!/bin/bash
directory=/raw/tool/

if hadoop fs -test –d $directory ; then
    echo "Directory  exists"
else
    hadoop fs -mkdir $directory
    echo "Creating  directory"
fi

我得到错误:

-test: Too many arguments: expected 1 but got 2
Usage: hadoop fs [generic options] -test -[defsz] <path>

我做错了什么?

【问题讨论】:

    标签: bash hadoop mapreduce hdfs


    【解决方案1】:

    假设您复制/粘贴了示例,则 d 之前的 - 不正确。我从您的帖子中复制了命令行,请注意 - before the day 的扩展方式有何不同。

    $ echo -test | od -c
    0000000   -   t   e   s   t  \n
    
    $ echo –d | od -c
    0000000 342 200 223   d  \n
    

    【讨论】:

    • 根据 Unicode 术语,这个 是一个 EN DASH (U+2013) 而它应该是一个普通的旧 -,即 HYPHEN -减号 (U+002D)。
    • 感谢你们帮助解决这个问题!
    猜你喜欢
    • 2014-02-07
    • 1970-01-01
    • 1970-01-01
    • 2017-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-04
    • 2018-08-01
    相关资源
    最近更新 更多