hadoop - hdfs命令输出的处理结果

标签 hadoop awk sed

这可能是有关流处理的问题。但是我无法使用awk找到一个优雅的解决方案。
我正在执行一项计划每天运行一次的m / r作业。但是可以在其上运行多个HDFS目录。例如,当天有3个输入目录上载到HDFS,因此每个目录需要运行3个m / r作业。

所以我需要一个解决方案,在这里我可以从以下结果中提取文件名:

hdfs dfs -ls /user/xxx/17-03-15*

然后遍历文件名,为每个文件启动一个m / r作业。

谢谢

最佳答案

浏览该问题的更多内容,我发现Hadoop为该问题提供了配置设置。 Here是详细信息。

另外,我只是遇到一些语法问题,而这个简单的awk命令确实做到了,我想要的是:

files=`hdfs dfs -ls /user/hduser/17-03-15* | awk {'print $8'}`

关于hadoop - hdfs命令输出的处理结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29114855/

相关文章:

hadoop - oozie 中的配置单元操作失败(在 cloudera CDH 4.1.1 上)

linux - 如何删除 X 字符前的所有单词

python - 优化多个 sed 语句

windows - 使用 sed 损失双斜杠在 Windows 和 Unix 路径之间转换

linux - 保持文本文件中以模式开头的行

hadoop - 在 PIG 中一次左外连接超过 2 个关系

hadoop - 远程使用 Hadoop 集群

java - 链接两个作业时 hadoop.mapreduce.lib.input.FileInputFormat.getBlockIndex 中的 NullPointerException

linux - 如何逐行解析df?

linux - 如何删除图案线之间的所有线