gpt4 book ai didi

hadoop - hadoop fs -ls 是否有返回字段子集的选项?

转载 作者:可可西里 更新时间:2023-11-01 15:08:26 24 4
gpt4 key购买 nike

命令

hadoop fs -ls /data

将以以下格式返回给定路径中的所有子目录:

vdrwxr-xr-x+ - myuser mygroup 0 2017-02-13 14:23 /data/mysubdirectory

我怎样才能让命令只返回一些字段。例如日期和子目录:

2017-02-13 /data/mysubdirectory

最佳答案

文档显示没有这样的选项:

https://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-common/FileSystemShell.html#ls

您可以将 hadoop fs -ls 的输出通过管道传输到类似 awk 的东西,然后打印您想要的列。

hadoop fs -ls /data | awk '{print $6 " " $8;}'

这是使用 AWK 实时编辑器完成的示例:

https://awk.js.org/?gist=05aea37413e0e026af98689296705dbd

另一种选择是使用 Java 或其他 JVM 语言的 HDFS 客户端 API。您可以在那里调用FileSystem#listStatus得到FileStatus ,它提供了 hadoop fs -ls 打印到控制台的所有信息。

// Get configuration from HADOOP_CONF_DIR
// org.apache.hadoop.conf.Configuration configuration = ...

FileSystem fs = FileSystem.get(configuration);

for (FileStatus fileStatus : fs.listStatus(new Path("/data"))) {
// fileStatus.getModificationTime() -> format date
// fileStatus.getPath() -> extract filename
}

关于hadoop - hadoop fs -ls 是否有返回字段子集的选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55989708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com