
# 数据开发
1. 项目创建 数据开发项目需为开发环境和生产环境配置数据鉴权模式，选择计算资源组，同时可以指定运行账号及运行队列。
   图1项目创建   
   ![](https://support.huaweicloud.com/deepexidip-dma/zh-cn_image_0000001611226205.png) 
2. 离线任务开发 离线数据开发支持 HiveSQL、ImpalaSQL、SparkSQL、Python、Shell、Jar、Spark 等任务类型。
   图2离线任务开发   
   ![](https://support.huaweicloud.com/deepexidip-dma/zh-cn_image_0000001560946372.png) 
3. 流程设计 任务运行以流程为核心，支持拖拉拽方式可视化编排，将多个不同类型的任务按照 DAG原则组织为其中各个子节点。
   图3流程设计1   
   ![](https://support.huaweicloud.com/deepexidip-dma/zh-cn_image_0000001561106288.png)
   除了拖拉拽方式外，在具体的任务节点中，也可以配置化的方式添加本项目上游节点、跨项目依赖的上游节点。
   图4流程设计2   
   ![](https://support.huaweicloud.com/deepexidip-dma/zh-cn_image_0000001611066641.png) 
4. 主流程设计 对于更加复杂的情况，同样可以通过拖拉拽方式可视化编排的方式，将项目内多个流程组织为主流程的形式满足复杂任务的依赖调度。
   图5主流程设计   
   ![](https://support.huaweicloud.com/deepexidip-dma/zh-cn_image_0000001560627472.png) 
5. 任务调度 主流程、流程支持日、月、周、时、分等不同精度的周期调度方式。当设置为自动调度模式时，主流程或流程在发布到生产环境并启动后，将在有效期内，按给定的调度周期内的具体时间进行周期性调度。
   图6任务调度1   
   ![](https://support.huaweicloud.com/deepexidip-dma/zh-cn_image_0000001560786760.png)
   主流程、流程外、任务节点均可设置具体运行时间。因此，同一流程下，不同任务节点在服从上下游顺序逻辑的前提下，均可按照自身的运行需要灵活启动。同时，可以对任务节点，可以设置出错重试次数和间隔时间，以实现任务调度过程中的容错处理。
   图7任务调度2   
   ![](https://support.huaweicloud.com/deepexidip-dma/zh-cn_image_0000001611426209.png)
   如果不启动自动调度，主流程或流程在发布到生产环境并启动后，可以在有效期内通过手动调度方式运行。
   图8任务调度3   
   ![](https://support.huaweicloud.com/deepexidip-dma/zh-cn_image_0000001611266557.png)
   同时，流程还支持自依赖、跨周期依赖设置，以支持复杂的调度场景需要。
   图9任务调度4   
   ![](https://support.huaweicloud.com/deepexidip-dma/zh-cn_image_0000001611226209.png) 
6. 实时任务开发 FlinkSQL 任务可以通过模板快速生成 sink 和 source 代码。
   图10实时任务开发   
   ![](https://support.huaweicloud.com/deepexidip-dma/zh-cn_image_0000001560946376.png) 
7. 实时任务调度 支持任务参数、运行参数、检查点、TTL 参数、任务并行数。支持数据血缘配置和版本管理。
   图11实时任务调度   
   ![](https://support.huaweicloud.com/deepexidip-dma/zh-cn_image_0000001561106292.png) 
 
