读取hdfs中的某一文件夹的文件为什么不支持通配符(foo/*)呢?

刚刚学习Hadoop get started 遇到了这么一个问题

# 有两个目录
bin/hdfs dfs -ls
drwxr-xr-x   - zhugw supergroup          0 2018-11-17 17:11 output
drwxr-xr-x   - zhugw supergroup          0 2018-11-17 18:02 pv_users_count

# 
bin/hdfs dfs -ls output
Found 2 items
-rw-r--r--   1 zhugw supergroup          0 2018-11-17 17:11 output/_SUCCESS
-rw-r--r--   1 zhugw supergroup        220 2018-11-17 17:11 output/part-r-00000

# output可以使用通配符进行读取
bin/hdfs dfs -cat output/*
6    dfs.audit.logger
4    dfs.class

# 
 bin/hdfs dfs -ls pv_users_count
Found 2 items
-rw-r--r--   1 zhugw supergroup          0 2018-11-17 18:02 pv_users_count/_SUCCESS
-rw-r--r--   1 zhugw supergroup         21 2018-11-17 18:02 pv_users_count/part-r-00000

# 为什么pv_users_count就不支持通配符读取了呢
bin/hdfs dfs -cat  pv_users_count/*
zsh: no matches found: pv_users_count/*
# 必须显式指定文件名
bin/hdfs dfs -cat  pv_users_count/part-r-00000
1,25    1
1,32    1
阅读 2.8k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进