首页 文章

USQL提取文件的子集

提问于
浏览
0

我有一个USQL问题 . 我有一个日常工作,即以下列格式将文件输出到目录

/MyOutput////file.csv

我现在有第二份工作要运行,它将使用第一份工作生成的最新30个文件 . 我无法弄清楚如何最好地做到这一点 .

我知道我可以在提取器中做通配符,但我不想提取所有文件,然后使用select / where去除我不想要的文件,因为提取所有文件可能会花费很多,如果我保持多年的 Value 文件 .

那么有没有一种很好的方式在usql中说只提取最新的x文件?或者我有什么选择?

谢谢,约翰

1 回答

  • 1

    如果你使用日期模式,它会做你想要的 .

    @rows = 
        EXTRACT 
          ...,
          date DateTime
        FROM /MyOutput/{date:YYYY}/{date:MM}/{date:dd}/file.csv;
    
    SELECT * FROM @rows WHERE date > '2018-5-3'
    

    将只读取与日期范围匹配的文件 - 它不会首先读取所有文件 .

相关问题