DataWorks百问百答17:如何排查周期任务取不到数据(产出数据为空)的问题?

简介: 如何排查周期任务取不到数据(产出数据为空)的问题?

首先我们需要知道节点依赖和业务逻辑之间是什么关系,其实任务依赖关系(调度关系)和业务逻辑并没有确切性的关联,业务依赖(即抽数/写数表之间的逻辑)并不等于任务依赖之间的关系。

举个栗子:A任务产出A表,B任务产出B表,A、B同级,C任务依赖A、B的表数据产出C表,但是任务依赖关系上C可以不依赖A而只依赖B,这样C任务仍然能够取得符合业务逻辑的数据并对表C进行写入数据。
下面分析下几种容易取不到源表数据的情况:

①分区&参数的影响:
比如说我有A、B两个小时任务。
A任务业务逻辑样例:
create table if not exists A(id bigint,name string)partitioned by(dt string,hh string);
insert overwrite table A partition(dt='${bidate}',hh='${hh}') select * from S where
dt='${bizdate}';
其中S表为初始数据表(即底表);

B表的业务逻辑样例:
create table if not exists B(id bigint,name string)partitioned by(dt string,hh string);
insert overwrite table B partition (dt='${bidate}',hh='${hh}') select * from A where
dt='${bizdate}' and hh='${hh}';


当A任务的参数中hh这个参数前推了一个小时,实际hh值变成了hh='$[hh24-1],而B任务的hh参数不变,hh='$[hh24]'这种形式,那么一定会找不到A表对应的分区而导致inputs数据为空,从而B表没有写入数据.

②没有严格的依赖关系而直接取源表的某一个还没有产出数据的分区导致没有数据:
比如说,A、B两个小时表作为C表的数据来源端,但是C并没有严格依赖A、B两个任务(即C任务没有依赖A、B只在业务上对A、B取数)。当A表任务产出ds='20200421',hh='10'的这个二级分区的时间是 10点30分,而C任务执行并取A表的ds='20200421',hh='10'这个分区的时间是10点10分,那么,就会导致C任务执行时取不到具体的A表对应分区数据而输入为空。

③sql逻辑问题导致输入为空
在A、B做join关联后并将数据写入到C表,不符合sql逻辑的条件筛选,没有select出符合条件的数据.

DataWorks百问百答历史记录 请点击这里查看>>

更多DataWorks技术和产品信息,欢迎加入【DataWorks钉钉交流群】

相关实践学习
基于Hologres轻量实时的高性能OLAP分析
本教程基于GitHub Archive公开数据集,通过DataWorks将GitHub中的项⽬、行为等20多种事件类型数据实时采集至Hologres进行分析,同时使用DataV内置模板,快速搭建实时可视化数据大屏,从开发者、项⽬、编程语⾔等多个维度了解GitHub实时数据变化情况。
相关文章
|
DataWorks
DataWorks任务如何现在执行最长时间?
设置任务执行最长时间
300 28
|
DataWorks 搜索推荐 数据挖掘
DataWorks: 驾驭数据浪潮,解锁用户画像分析新纪元
本文详细评测了DataWorks产品,涵盖最佳实践、用户体验、与其他工具对比及Data Studio新功能。内容涉及用户画像分析、数据管理作用、使用过程中的问题与改进建议,以及Data Studio的新版Notebook环境和智能助手Copilot的体验。整体评价肯定了DataWorks在数据处理和分析上的优势,同时也指出了需要优化的地方。
505 24
|
SQL 分布式计算 DataWorks
如何让DataWorks调度依赖一个非DataWorks的任务结点,如数据上传任务?
如何让DataWorks调度依赖一个非DataWorks的任务结点,如数据上传任务?创建一个表的空分区,然后通过DataWorks去检查这个分区。
279 7
|
数据采集 DataWorks 数据挖掘
提升数据分析效率:DataWorks在企业级数据治理中的应用
【8月更文第25天】本文将探讨阿里巴巴云的DataWorks平台如何通过建立统一的数据标准、规范以及实现数据质量监控和元数据管理来提高企业的数据分析效率。我们将通过具体的案例研究和技术实践来展示DataWorks如何简化数据处理流程,减少成本,并加速业务决策。
1003 54
|
SQL 分布式计算 DataWorks
利用DataWorks构建高效数据管道
【8月更文第25天】本文将详细介绍如何使用阿里云 DataWorks 的数据集成服务来高效地收集、清洗、转换和加载数据。我们将通过实际的代码示例和最佳实践来展示如何快速构建 ETL 流程,并确保数据管道的稳定性和可靠性。
617 56
|
数据采集 人工智能 DataWorks
限时优惠体验!DataWorks数据治理中心全新升级为数据资产治理
DataWorks进行全面升级,从数据治理中心转型为数据资产治理,强调业务视角下的数据分类与管理,引入Data+AI全链路数据血缘追踪,提升数据质量和安全性,促进跨部门协作。同时,提供限时优惠活动,助力企业高效利用数据资产。
1386 2
|
SQL 机器学习/深度学习 分布式计算
dataworks节点任务
在DataWorks中,你可以通过拖拽节点以及连线来构建复杂的工作流,这样可以方便地管理多个任务之间的依赖关系。此外,DataWorks还提供了调度功能,使得这些任务可以在设定的时间自动执行。这对于构建自动化、定时的数据处理管道非常有用。
371 5
|
DataWorks 安全 定位技术
DataWorks产品使用合集之怎么指定任务的执行时间
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
分布式计算 运维 DataWorks
DataWorks产品使用合集之如何实现任务的批量导入和导出
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
SQL DataWorks 安全
DataWorks产品使用合集之怎么跨项目移动sql任务
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。

相关产品

  • 大数据开发治理平台 DataWorks