数据研发任务过程中,不同的计算引擎配置支持不同类型的代码任务。本文为您介绍如何基于MaxCompute计算引擎进行新建代码任务。

  • 您需要首先在项目管理界面配置每个项目的IP白名单。通过这种方式,使项目在执行任务或调度任务时,可以访问对应的IP的资源等,保证任务运行的安全稳定。
  • MaxCompute计算引擎支持MaxCompute SQL、MaxCompute MR、Spark on MaxCompute、Shell、Python等代码任务。如果配置的MaxCompute计算引擎源支持Spark(详情参见使用限制),则Spark任务可正常执行。

新建代码任务

  1. 进入研发 > 开发 > 数据处理 > 代码任务功能模块。
  2. 在左侧功能区,单击右上角的+图标,选择需要的任务类型,新建文件夹和代码任务。该区域支持文件及文件夹目录移动。
    • 支持2.7版本的Python。Python任务系统内置lib库可以通过pip list获取。Shell及Python任务支持设置内存大小,上限为8G。
    • Shell、Python任务默认分配0.1核CPU、256MB内存。
    • Shell、Python任务设置资源大小、引用资源(如DataX脚本),代码前可以添加如下内容:
      @required_resource{required_memory=2Gb;required_cpus=1.0} @resource_reference{"myDataXJob.json"}
      python $DATAX_HOME/bin/datax.py --jvm '-Xms2g -Xmx2g' myDataXJob.json                    
      说明 使用--jvm '-Xms2g -Xmx2g'来指定DataX实际运行时JVM的内存时,建议将该内存大小与required_resource中的required_memory设置一致,充分使用申请的资源。
    • Spark任务运行时,前缀需要加上如下内容,以保证执行通过。
      --conf
      spark.hadoop.odps.task.major.version=cupid_v2
      --conf
      spark.hadoop.odps.end.point=http://service.cn.maxcompute.aliyun.com/api
      --conf
      spark.hadoop.odps.runtime.end.point=http://service.cn.maxcompute.aliyun-inc.com/api
      --deploy-mode cluster                    
    • 逻辑表查询时,必须带业务板块英文名为前缀,跨项目物理表使用需要带项目英文名为前缀。如果您需要查询开发环境数据,请在生产名称后加上_dev,系统会自动将生产业务板块、生产项目生成对应的变量。例如,您拥有业务板块LD_Trade ,则系统自动生成业务板块变量${LD_Trade}。该变量在开发环境执行时默认被替换为LD_Trade_dev,在生产环境执行时默认被替换为LD_Trade。您也可以在执行时设置固定的值,提高代码在不同环境执行时的灵活性。
  3. 在新键代码任务窗口中,填写任务名称、调度类型、描述等信息。信息填写完毕后,单击确定完成创建。
    说明
    • 任务名称必须全局唯一。
    • 调度类型分为周期性节点和手动节点。周期性节点定时调度,手动节点每次单击后运行。
    • 生产开发隔离模式下,开发环境的数据处理对象发布至生产环境时,生产环境不会记录文件夹信息。请注意对象在项目内命名唯一,以免出现对象在对应生产环境的项目内重名,导致发布到生产环境时失败。