ODPS Spark节点支持使用Java和Python处理数据,本文为您介绍如何新建和配置ODPS Spark节点。

背景信息

Python资源是针对Python UDF进行开发,能够获取的可以直接依赖的三方包较为有限,因此使用Python资源的局限性较大。

PyODPS 2和PyODPS 3节点对Python资源的支持性更强大,详情请参见创建PyODPS 2节点创建PyODPS 3节点

本文分别为您介绍如何创建JAR资源和Python资源,并在创建ODPS Spark节点后加载不同类型的资源,您可以根据业务需求进行操作。

创建JAR资源

  1. 进入数据开发页面。
    1. 登录DataWorks控制台
    2. 在左侧导航栏,单击工作空间列表
    3. 选择工作空间所在地域后,单击相应工作空间后的进入数据开发
  2. 鼠标悬停至新建图标,单击MaxCompute > 资源 > JAR
    您也可以找到相应的业务流程,右键单击MaxCompute,选择新建 > 资源 > JAR
  3. 新建资源对话框中,输入资源名称,并选择目标文件夹
    说明
    • 如果绑定多个实例,则需要选择MaxCompute引擎实例
    • 如果该JAR包已经在MaxCompute(ODPS)客户端上传过,则需要取消勾选上传为ODPS资源,否则上传会报错。
    • 资源名称无需与上传的文件名保持一致。
    • 资源名称命名规范:1~128个字符,字母、数字、下划线、小数点,大小写不敏感,JAR资源的后缀为.jar,Python资源的后缀为.py
  4. 单击点击上传,选择相应的文件进行上传。
  5. 单击确定
  6. 分别单击工具栏中的保存提交图标。
  7. 提交新版本对话框中,输入变更描述,单击确认

创建Python资源

  1. 数据开发页面,鼠标悬停至新建图标,单击MaxCompute > 资源 > Python
    您也可以找到相应的业务流程,右键单击MaxCompute,选择新建 > 资源 > Python
  2. 新建资源对话框中,输入资源名称,并选择目标文件夹
    说明
    • 如果绑定多个实例,则需要选择MaxCompute引擎实例
    • 资源名称只能包含中文、字母、数字、点、下划线(_)、减号(-),且必须加后缀名.py
  3. 单击确定
  4. 在节点的编辑页面,输入Python代码。
    代码示例如下,仅进行校检数值判断,非数据业务处理逻辑。
    def is_number(s):
        try:
            float(s)
            return True
        except ValueError:
            pass
    
        try:
            import unicodedata
            unicodedata.numeric(s)
            return True
        except (TypeError, ValueError):
            pass
    
        return False
    
    print(is_number('foo'))
    print(is_number('1'))
    print(is_number('1.3'))
    print(is_number('-1.37'))
    print(is_number('1e3'))
  5. 分别单击工具栏中的保存提交图标。
  6. 提交新版本对话框中,输入变更描述,单击确认

创建ODPS Spark节点

  1. DataStudio(数据开发)页面,鼠标悬停至新建图标,单击MaxCompute > ODPS Spark
    您也可以打开相应的业务流程,右键单击MaxCompute,选择新建 > ODPS Spark
  2. 新建节点对话框中,输入节点名称,并选择目标文件夹
    说明 节点名称必须是大小写字母、中文、数字、下划线(_)和小数点(.),且不能超过128个字符。
  3. 单击提交
  4. 在ODPS Spark编辑页面,配置各项参数。ODPS Spark的详情请参见MaxCompute Spark概述
    ODPS Spark节点支持两种spark版本语言。选择不同的语言,会显示相应不同的配置,您可以根据界面提示进行配置:
    • 选择语言Java/Scala,配置如下。 填写配置
      参数 描述
      spark版本 包括Spark1.xSpark2.x两个版本。
      语言 此处选择Java/Scala
      选择主jar资源 从下拉列表中选择您已上传的JAR资源。
      配置项 单击添加一条,即可配置keyvalue
      Main Class 选择类名称。
      参数 添加参数,多个参数之间用空格分隔。支持使用调度参数,调度参数使用方式请参考文档调度参数
      说明 您需要在配置调度参数后,再在编辑页面配置节点参数,系统会顺序执行。
      选择jar资源 ODPS Spark节点根据上传的文件类型自动过滤,选择下拉框中显示的您已上传的JAR资源。
      选择file资源 ODPS Spark节点根据上传的文件类型自动过滤,选择下拉框中显示的您已上传的File资源。
      选择archives资源 ODPS Spark节点根据上传的文件类型自动过滤,选择下拉框中显示的您已上传的Archives资源,仅展示压缩类型的资源。
    • 选择语言Python,配置如下。Python
      参数 描述
      spark版本 包括Spark1.xSpark2.x两个版本。
      语言 此处选择Python
      选择主python资源 从下拉列表中选择您已上传的Python资源。
      配置项 单击添加一条,即可配置keyvalue
      参数 添加参数,多个参数之间用空格分隔。
      选择python资源 ODPS Spark节点根据上传的文件类型自动过滤,选择下拉框中显示的您已上传的Python资源。
      选择file资源 ODPS Spark节点根据上传的文件类型自动过滤,选择下拉框中显示的您已上传的File资源。
      选择archives资源 ODPS Spark节点根据上传的文件类型自动过滤,选择下拉框中显示的您已上传的Archives资源,仅展示压缩类型的资源。
  5. 单击节点编辑区域右侧的调度配置,配置节点的调度属性,详情请参见基础属性
  6. 保存并提交节点。
    注意 您需要设置节点的重跑属性依赖的上游节点,才可以提交节点。
    1. 单击工具栏中的保存图标,保存节点。
    2. 单击工具栏中的提交图标。
    3. 提交新版本对话框中,输入变更描述
    4. 单击确认
    如果您使用的是标准模式的工作空间,提交成功后,请单击右上角的发布。具体操作请参见发布任务
  7. 测试节点,详情请参见周期任务