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

如何在Databricks Filestore中筛选3月15日上传的最新文件

解决Databricks中筛选特定日期(3月15日)Parquet文件的问题

问题原因

%sh find ... -mtime -1 仅会匹配过去24小时内修改的文件,若你执行命令的时间距离3月15日已超过24小时,自然无法找到目标文件。要精准筛选3月15日的文件,需要用特定日期范围的匹配逻辑。

分步解决方法

  1. 先确认文件的实际修改日期
    先统一格式查看目录下所有Parquet文件的日期,避免视觉误差:

    %sh ls -l --time-style=+%Y-%m-%d /dbfs/mnt/sgi/report/descriptive/granular_market_size/*.parquet
    
  2. 精准筛选3月15日的Parquet文件
    使用-newermt参数(Databricks的Shell环境默认支持)指定时间范围,匹配202X年3月15日当天修改的文件:

    %sh find /dbfs/mnt/sgi/report/descriptive/granular_market_size \
      -type f \
      -name "*.parquet" \
      -newermt "202X-03-15" \
      ! -newermt "202X-03-16"
    

    (将202X替换为实际年份)

    若系统不支持-newermt,可以用临时文件标记时间范围:

    %sh touch -t 202X03150000 /tmp/start_mar15
    %sh touch -t 202X03160000 /tmp/end_mar15
    %sh find /dbfs/mnt/sgi/report/descriptive/granular_market_size \
      -type f \
      -name "*.parquet" \
      -newer /tmp/start_mar15 \
      ! -newer /tmp/end_mar15
    
  3. 将筛选出的文件移动到子文件夹
    先创建目标子文件夹,再批量移动文件:

    # 创建子文件夹(不存在则创建)
    %sh mkdir -p /dbfs/mnt/sgi/report/descriptive/granular_market_size/mar15_files
    # 移动文件
    %sh find /dbfs/mnt/sgi/report/descriptive/granular_market_size \
      -type f \
      -name "*.parquet" \
      -newermt "202X-03-15" \
      ! -newermt "202X-03-16" \
      -exec mv {} /dbfs/mnt/sgi/report/descriptive/granular_market_size/mar15_files/ \;
    

    若文件数量较多,用xargs效率更高:

    %sh find ... | xargs mv -t /dbfs/mnt/sgi/report/descriptive/granular_market_size/mar15_files/
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 10:52:03