如果目录不存在,使用bash在HDFS中创建目录

时间:2014-07-30 23:24:19

标签: bash hadoop mapreduce hdfs

我想测试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>

我做错了什么?

1 个答案:

答案 0 :(得分:5)

假设你复制/粘贴了你的例子,那么d之前是不正确的。我从你的帖子中复制了命令行,注意 - 在一天之前扩展的方式不同。

$ echo -test | od -c
0000000   -   t   e   s   t  \n

$ echo –d | od -c
0000000 342 200 223   d  \n