各种数据研发任务,不同的计算引擎配置支持不同类型的代码任务。MaxCompute计算引擎支持MaxCompute SQL、MaxCompute MR、Spark on MaxCompute、Shell、Python等代码任务。如果配置的MaxCompute计算引擎源支持Spark(详情参见用户必读),则Spark任务可正常执行。

说明 需要在项目管理界面,设置每个项目的IP白名单。通过这种方式,使项目在执行任务或调度任务时,可以访问对应的IP的资源等,保证任务运行的安全性。

新建代码任务

  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. 在新键代码任务窗口中,填写任务名称、调度类型、描述等信息。信息填写完毕后,单击确定完成创建。
    说明
    • 任务名称必须全局唯一。
    • 调度类型分为周期性节点和手动节点。周期性节点定时调度,手动节点每次单击后运行。
    • 生产开发隔离模式下,开发环境的数据处理对象发布至生产环境时,生产环境不会记录文件夹信息。请注意对象基于项目内命名唯一,以免出现对象在对应生产环境的项目内重名,导致发布到生产环境时失败。