FileFreshness
注意
对于所有基于文件的规则,您必须在与存储桶相同的区域中运行作业。如果您尝试解析 Amazon S3 文件夹,则该文件夹必须位于 Amazon S3 中。
FileFreshness 可根据您提供的条件确保您的数据文件是最新的。其使用文件的最后修改时间来确保数据文件或整个文件夹是最新的。
此规则收集两个指标:
-
基于您所设置规则的 FileFreshness 合规性
-
当天修改的文件数
{"Dataset.*.FileFreshness.Compliance":1,"Dataset.*.FileCount":1}
异常检测不考虑这些指标。
检查文件新鲜度
以下规则可确保 tickets.parquet 是在过去 24 小时内创建的。
FileFreshness "s3://bucket/artifacts/file/tickets/tickets.parquet" > (now() - 24 hours)
检查文件夹新鲜度
如果文件夹中的所有文件都是在过去 24 小时内创建或修改的,则以下规则通过。
FileFreshness "s3://bucket/" >= (now() -1 days) FileFreshness "s3://bucket/artifacts/file/tickets/" >= (now() - 24 hours)
使用阈值检查文件夹或文件新鲜度
如果“tickets”文件夹中有 10% 的文件是在过去 10 天内创建或修改的,则以下规则通过。
FileFreshness "s3://bucket/artifacts/file/tickets/" < (now() - 10 days) with threshold > 0.1
检查特定日期的文件或文件夹
您可以检查特定日期的文件新鲜度。
FileFreshness "s3://bucket/artifacts/file/tickets/" > "2020-01-01" FileFreshness "s3://bucket/artifacts/file/tickets/" between "2023-01-01" and "2024-01-01"
直接从数据帧推断文件名
您不必总是提供文件路径。例如,当您在 Amazon Glue Data Catalog 中编写规则时,可能很难找到目录表使用的文件夹。AmazonGlue 数据质量自动监测功能可以找到用于填充数据帧的特定文件夹或文件,并可检测其是否为最新。
FileFreshness > (now() - 24 hours)
此规则将查找用于填充动态帧或数据帧的文件夹路径或文件。这适用于 Amazon S3 路径或基于 Amazon S3 的 Amazon Glue Data Catalog 表。有几个注意事项:
-
在 Amazon Glue ETL 中,您必须在 Amazon S3 或 Amazon Glue Data Catalog 转换之后立即进行 EvaluateDataQuality 转换。
-
此规则在 Amazon Glue 交互式会话中不起作用。
如果您尝试上述两种情况,或者当 Glue 找不到文件时,则它会抛出以下错误:“Unable to parse file path from DataFrame”