FileSize 规则类型允许您确保文件符合特定的文件大小标准。这在以下用例中非常有用:
-
确保创建器不会发送空文件或小得多的文件进行处理。
-
确保您的目标存储桶中没有可能导致性能的问题较小文件。
FileSize 会收集以下指标:
-
合规性:返回符合您设定的规则阈值的文件百分比
-
文件计数:规则扫描的文件数
-
最小文件大小(字节)
-
最大文件大小(字节)
Dataset.*.FileSize.Compliance: 1.00,
Dataset.*.FileCount: 8.00,
Dataset.*.MaximumFileSize: 327413121.00,
Dataset.*.MinimumFileSize: 204558920.00
这些指标不支持异常检测。
验证文件大小
如果 file.dat 大于 2 MB,则此规则将通过。
FileSize "s3://amzn-s3-demo-bucket/file.dat" > 2 MB
支持的单位包括 B(字节)、MB(兆字节)、GB(千兆字节)和 TB(太字节)。
验证文件夹中文件的大小
FileSize "s3://bucket/" > 5 B
FileSize "s3://bucket/" < 2 GB
如果 s3://amzn-s3-demo-bucket 中有 70% 的文件大小在 2 GB 到 1 TB 之间,则此规则将通过。
FileSize "s3://amzn-s3-demo-bucket/" between 2 GB and 1 TB with threshold > 0.7
直接从数据帧推断文件名
您不必总是提供文件路径。例如,当您在 Data Catalog 中编写规则时,可能很难找到目录表使用的文件夹。AWSGlue 数据质量自动监测功能可以找到用于填充数据帧的特定文件夹或文件。
注意
仅当文件成功读取到 DynamicFrame 或 DataFrame 时,此功能才起作用。
FileSize < 10 MB with threshold > 0.7
可选的基于文件的规则标签:
通过标签,您可以控制规则行为。
recentFiles
此标签通过将最新文件放在最前面,来限制处理的文件数。
FileSize "s3://amzn-s3-demo-bucket/" > 5 B with recentFiles = 1
matchFileName
此标签可确保文件没有重复的名称。默认行为是 false。
FileSize "s3://amzn-s3-demo-bucket/" > 5 B with matchFileName = "true"
有几个注意事项:
-
在 AWS Glue ETL 中,您必须在 Amazon S3 或 Data Catalog 转换之后立即进行 Evaluate DataQuality 转换。
-
此规则在 AWS Glue 交互式会话中不起作用。