如何使用shell脚本获取所有文件夹的列表,目录存在于HDFS中。这是我尝试过的:
#!/bin/ksh
echo " loading folders..."
count=0
for folder in `hdfs dfs -ls -d /user/data/*`
do
if [ -d "$folder" ]
then
count=`expr $count + 1`
echo ${d}
fi
done
echo ${count}
在程序结束时,count变量的值为0。
答案 0 :(得分:4)
您需要询问hdfs文件夹是否是目录,而不是bash。
if hdfs dfs -test -d "$folder"; then
答案 1 :(得分:0)
如果! hdfs dfs -test -d $ path_on_hdfs;然后
echo"文件夹不存在。创建它"
hdfs dfs -mkdir -d $ path_on_hdfs
否则
回声"已经存在。删除并重新创建"hdfs dfs -rmr -skipTrash $ path_on_hdfs
网络连接
如果文件夹不存在,上面的代码将创建该文件夹,如果文件夹存在,将删除该文件夹。
谢谢,
此致
Dheeraj Rampally。