You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在HDFS指定时间戳目录下递归输出零大小文件

HDFS指定时间戳范围内空文件筛选方案

可以通过hdfs dfs命令结合awk脚本实现需求,具体命令如下:

hdfs dfs -ls -R hdfs://<DIRECTORY>/ | awk -v min_ts=20220501 -v max_ts=20221231 '
    /^-/ {
        split($NF, path_parts, "/")
        ts = path_parts[length(path_parts)-1]
        if (ts >= min_ts && ts <= max_ts && $5 == 0) print $0
    }
'

命令说明

  • hdfs dfs -ls -R hdfs://<DIRECTORY>/:递归列出目标根路径下所有文件与目录的完整属性信息
  • awk逻辑:
    • 仅匹配文件行(以-开头的行,排除目录)
    • 从文件路径中提取倒数第二段的时间戳(对应路径结构hdfs://<DIRECTORY>/<TIMESTAMP>/文件名)
    • 判断时间戳是否在20220501至20221231范围内,且文件大小(第5列)为0,满足条件则输出整行属性信息

示例

输入示例

// <DIRECTORY>/<TIMESTAMP1>
-rw-r--r--   3 USER supergroup          0 2022-10-23 21:52 hdfs://<DIRECTORY>/20221015/part-03767.pb.zstd
-rw-r--r--   3 USER supergroup      71667 2022-10-23 21:52 hdfs://<DIRECTORY>/20221015/part-03768.pb.zstd
-rw-r--r--   3 USER supergroup      94330 2022-10-23 21:52 hdfs://<DIRECTORY>/20221015/part-03769.pb.zstd

// <DIRECTORY>/<TIMESTAMP2>
-rw-r--r--   3 USER supergroup      14756 2022-10-23 21:52 hdfs://<DIRECTORY>/20221016/part-03770.pb.zstd
-rw-r--r--   3 USER supergroup          0 2022-10-23 21:52 hdfs://<DIRECTORY>/20221016/part-03771.pb.zstd

输出示例

// output
-rw-r--r--   3 USER supergroup          0 2022-10-23 21:52 hdfs://<DIRECTORY>/20221015/part-03767.pb.zstd
-rw-r--r--   3 USER supergroup          0 2022-10-23 21:52 hdfs://<DIRECTORY>/20221016/part-03771.pb.zstd

内容的提问来源于stack exchange,提问作者Bowen Peng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 15:55:20