U-SQL 忽略空文件

U-SQL Ignore Empty Files

我每天从数据提供商那里收到一份文件转储。有时我们会收到空文件(20 字节)。有没有办法自动避免处理或跳过这些文件?

我试过:

USING Extractors.Csv(skipFirstNRows:1, silent:true);

但我似乎遇到了与我认为是空文件相关的顶点故障。

我们最近添加了一个 FILE.LENGTH 属性 作为计算虚拟列,您可以使用它来过滤掉特定大小的文件。

例如,以下应该只对大于 20 字节的文件进行操作:

@data = 
  EXTRACT 
          // ... columns to extract
        , file_sz = FILE.LENGTH()
  FROM "/mydata/{*}"
  USING Extractors.Csv();

@res =
  SELECT *
  FROM @data
  WHERE file_sz > 20;