DataWorks数据质量分区的问题。我的表是按“日期”和“交易所”进行的分区,那么在设置数据质量的时候,这个分区表达式要怎么写?
配置分区表达式
数据质量通过分区表达式来确定需要进行质量校验的表分区。您需要找到目标表,并为其配置所需分区表达式。https://help.aliyun.com/zh/dataworks/user-guide/getting-started-with-data-quality?spm=a2c4g.11186623.0.i27#section-civ-jxy-c6d
配置分区表达式。
通常,为保障周期调度产出的表数据符合预期,建议该分区表达式的取值与当天周期调度产出的表分区一致。
说明
单表可多次执行添加操作,配置多个分区表达式,校验多个分区数据。
在表规则配置页面,单击添加图标。
在添加分区对话框输入分区表达式,单击计算。
您可查看分区表达式的计算结果是否符合预期,若不符合则请及时修正。
单击确认,成功添加分区。
本文示例配置下图的分区表达式,校验result_table表当天执行产出的分区数据是否符合预期。
在DataWorks中设置数据质量时,分区表达式的写法取决于您的数据表结构和分区键。根据您的描述,您的表是按“日期”和“交易所”进行分区的。因此,您可以使用以下格式的分区表达式:
partition_date='your_date' and partition_exchange='your_exchange'
请将your_date
替换为实际的日期值,将your_exchange
替换为实际的交易所名称。例如,如果您要检查2022年1月1日的数据质量,并且交易所为纽约证券交易所(NYSE),则分区表达式应为:
partition_date='2022-01-01' and partition_exchange='NYSE'
请注意,分区表达式中的日期格式应与表中的日期列格式相匹配。
目前应该是仅支持日期型的分区 ,
https://help.aliyun.com/zh/dataworks/user-guide/configure-monitoring-rules-by-table?spm=a2c4g.11186623.0.0.29ec2fc3x0dx2O#53a893a0344a0 ,此回答整理自钉群“DataWorks交流群(答疑@机器人)”
在DataWorks中设置数据质量时,分区表达式的写法取决于您的表结构和您希望对哪些分区进行数据质量检查。
根据您的描述,您的表是按“日期”和“交易所”进行的分区。如果您希望对整个表的所有分区进行数据质量检查,您可以使用通配符*
来表示所有分区。例如,如果您的表名为my_table
,则可以使用以下分区表达式:
my_table.date >= '2023-01-01' AND my_table.date <= '2023-12-31' AND my_table.exchange = 'SSE'
这将选择所有日期在2023年且交易所为上海证券交易所(SSE)的分区。
如果您只想对特定日期或特定交易所的分区进行数据质量检查,您可以将日期和交易所的值直接替换到表达式中。例如,如果您只想检查2023年7月1日的数据质量,可以使用以下分区表达式:
my_table.date >= '2023-07-01' AND my_table.date <= '2023-07-31' AND my_table.exchange = 'SSE'
同样地,如果您只想检查上海证券交易所(SSE)的数据质量,可以使用以下分区表达式:
my_table.date >= '2023-01-01' AND my_table.date <= '2023-12-31' AND my_table.exchange = 'SSE'
在DataWorks中,数据质量分区是一种将数据按照特定规则进行分组和管理的方式。分区表达式用于定义如何对数据进行分区,通常基于某个字段的取值来进行分区。
分区表达式的写法取决于您的具体需求和数据的特征。以下是一些常见的分区表达式示例:
基于日期的分区:如果您想按照日期对数据进行分区,可以使用日期字段作为分区键。例如,假设您有一个名为date_column
的日期字段,您可以使用类似以下表达式来进行分区:
dt=${date_column}
这将根据date_column
字段的日期值创建以日期为名称的分区。
基于数值范围的分区:如果您希望按照数值范围对数据进行分区,可以使用数值字段作为分区键,并设置分区的取值范围。例如,假设您有一个名为numeric_column
的数值字段,您可以使用以下表达式来进行分区:
num=${numeric_column/1000}
这将根据numeric_column
字段的值除以1000并取整,创建以数值范围为名称的分区。
多个字段的复合分区:如果您需要基于多个字段进行分区,可以通过在分区表达式中使用这些字段的值进行复合分区。例如,假设您有两个字段date_column
和category_column
,您可以使用以下表达式来进行复合分区:
dt=${date_column}/category=${category_column}
这将根据date_column
字段的日期值和category_column
字段的取值创建以日期和类别为名称的复合分区。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。