本文为您介绍如何创建PyODPS 3节点,以及在DataWorks使用PyODPS 3的限制。

使用限制

  • 当Python 3的子版本号不同(例如Python 3.8和Python 3.7)时,字节码的定义有所不同。

    目前MaxCompute使用的Python 3版本为3.7,当使用其它版本Python 3中的部分语法(例如Python 3.8中的finally block)时,执行会报错,建议您选择Python 3.7。

  • PyODPS 3节点获取到本地处理的数据不能超过50 MB,节点运行时占用的内存不能超过1 GB,否则节点任务会结束运行。请避免在PyODPS 3节点中写入过多的数据处理代码。

创建PyODPS 3节点

  1. 进入数据开发页面。
    1. 登录DataWorks控制台
    2. 在左侧导航栏,单击工作空间列表
    3. 选择工作空间所在地域后,单击相应工作空间后的进入数据开发
  2. 鼠标悬停至新建图标,单击MaxCompute > PyODPS 3
    您也可以打开相应的业务流程,右键单击MaxCompute,选择新建 > PyODPS 3
  3. 新建节点对话框中,输入节点名称,并选择目标文件夹
    说明 节点名称必须是大小写字母、中文、数字、下划线(_)和小数点(.),且不能超过128个字符。
  4. 单击提交
  5. 编辑并执行PyODPS 3节点。
    例如,您在使用execute_sql接口时,需要手动设置SQL运行参数。详情请参见执行SQL
    hints={'odps.sql.python.version': 'cp37', 'odps.isolation.session.enable': True}
    当您使用DataFrame自定义函数(df.mapdf.map_reducedf.applydf.agg)时,请进行如下设置。
    hints={'odps.isolation.session.enable': True}

    PyODPS会根据客户端使用的Python版本决定UDF的运行环境,提交SQL查询语句。例如,通过公共Python UDF执行DataFrame,在客户端使用Python 3时,会根据Python 3进行解释。如果相应的UDF使用print语句等Python 2特有的语法或库,执行语句会报ScriptError的错误。

  6. 单击节点编辑区域右侧的调度配置,配置节点的调度属性,详情请参见基础属性
  7. 保存并提交节点。
    注意 您需要设置节点的重跑属性依赖的上游节点,才可以提交节点。
    1. 单击工具栏中的保存图标,保存节点。
    2. 单击工具栏中的提交图标。
    3. 提交新版本对话框中,输入变更描述
    4. 单击确认
    如果您使用的是标准模式的工作空间,提交成功后,请单击右上角的发布。具体操作请参见发布任务
  8. 测试节点,详情请参见查看周期任务