当前位置:   article > 正文

阿里云DataWorks使用总结1

dataworks使用

1、数据质量中选择:唯一值个数,固定值,此时会转化成SQL

SELECT COUNT(DISTINCT visible_article_cnt ) FROM emd_fact_chaoxw_rs_sp_data_check where pt = MAX_PT(‘emd_fact_chaoxw_rs_sp_data_check’) ;
在这里插入图片描述
就是看某个字段有多少值,比如A字段,里面的值是shi0、1,那么查询出来就是

2、一个任务执行很久,但是不理解为什么很久,通过排查得出以下结论

读端等待时间7秒,写端等待时间13秒
并且查看了最近运行的二十次实例的运行情况
当前调度资源等待时间最小为4秒,最大为1分43秒
您的集成资源等待时间 最小为7分12秒,最大为10分22秒
综上所述,主要卡点为集成资源不够导致的实例运行时间长
此时通过详细查看日志可发现,其中一个SQL执行了很久
在这里插入图片描述
此时可以联系DBA协助排查
然后联系数据库同学排查,可以发现数据库的 IOPS被打满,然后确实是那条SQL执行时间过慢,建议是排查关键字段是否有索引,有索引的情况下,语句是否会走索引

3、数据质量规则配置

1)选择表进行配置
2)可以配置表为非分区表,因为必须要有分区的检查,如果分区不存在,不到数据质量的检查就已经报错了
3)由于报错时分区不存在,可以考虑搭配DW的check节点使用
Semantic analysis exception - partition not found: ds=‘20240324’
先检查分区是否存在,再走数据质量
需要通过节点ID,去数据质量中进行关联

4、多张表到一张表的实时和离线同步

https://help.aliyun.com/zh/dataworks/user-guide/configure-a-data-synchronization-solution-in-data-integration?spm=a2c4g.11186623.0.i21
可以查看链接有说明,建议结合我写的例子
离线
在这里插入图片描述
离线就是正常选择表,如果字段不一致,选择要同步的字段就可以了,需要注意的是有一个数据源是不支持同时选择多张表的
实时
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
实时需要写库名和schema映射规则,不然就会新建schema和表,做好映射才可以使用选择已有表

5、任务一直run,但速率为0

https://help.aliyun.com/zh/dataworks/user-guide/optimize-the-performance-of-batch-synchronization-nodes?spm=a2c4g.11186623.0.i11#section-oes-t50-99n
先看官方文档进行排查
关于run速率一直为0的另外一种情况
首先整体并发要大于8了开了分布式
在这里插入图片描述
根据DW页面打印的详细日志可以看到6:07 master 启动,是Master启动后,worker并没有启动,因为是分布式,所以会先启动一部分,一直到06:58Master才打印速率,但实际根据后台监控看06:39:05 数据已经开始写入了
最后结论为:任务为分布式,导致只启动了部分任务,所以数据速率一直没有,后续资源充足了,就可以了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/1014048
推荐阅读
  

闽ICP备14008679号