使用DataWorks Spark

更新时间:
复制为 MD 格式

本文介绍如何通过DataWorks(大数据开发治理平台)创建及配置MaxCompute Spark节点,包括资源上传、节点配置和参数传递等操作。

使用流程

步骤一:创建资源

  1. 登录DataWorks控制台,在左上角选择地域。

  2. 选择工作空间,单击进入Data Studio

  3. 在最左侧导航栏单击资源管理image图标,新建目录后,单击目录右侧image新建资源,选择MaxCompute Jar。上传模板项目工程编译出来的Jar包。

  4. 上传之后必须单击发布资源,否则无法被Spark节点识别。

步骤二:创建MaxCompute Spark节点

DataWorks中创建一个MaxCompute Spark节点。

  1. 在最左侧导航栏单击数据开发image图标,单击image新建节点,MaxCompute > MaxCompute Spark

  2. 选择上一步骤上传的jar资源并按照spark-defaults.conf中的配置填写DataWorks页面上的配置项。Main Class和参数是主类和对应的参数,单击发布。

  3. 发布成功后,单击去运维。在新的页面,单击新建节点操作列的测试

DataWorks Spark节点配置

节点介绍

DataWorks中的MaxCompute Spark节点配置本质上对应于spark-submit命令的参数和选项。具体对应关系如下表所示:

DataWorks节点配置项

spark-submit对应参数

java/python资源

app jar or python file

配置项

--conf PROP=VALUE

main class

--class CLASS_NAME

参数

[app arguments]

选择jar资源

--jars JARS

选择python资源

--py-files PY_FILES

选择file资源

--files FILES

选择archives资源

--archives ARCHIVES

配置项

对应于spark-submit命令的--conf,即上表第二条。

  • accessidaccesskeyprojectnameendpoint无需配置,默认是生产账号(支持显式配置,显式配置后将覆盖默认值)。

  • 除此之外,需要将spark-default.conf中的配置逐条加到DataWorks的配置项中。

传参数

DataWorks Spark节点支持传递参数(如bizdate),操作步骤如下:

  1. 调度 > 参数中添加参数,与SQL节点的方式相同。

  2. Spark节点的参数栏引用该参数。该参数会传给用户主类,用户在代码中解析该参数即可。

不同语言获取参数的方式:

  • Java/Scala:通过主类的args参数获取。

  • Python:通过sys.argv获取。

资源上传

DataWorks中添加任务需要的资源,这些资源在任务运行时会被上传到工作目录下。资源可能包括:

  • jar资源/python资源:对应于spark-submit命令的--jars--py-files参数。

  • file资源:对应于spark-submit命令的--files参数。

  • archive资源:对应于spark-submit命令的--archives参数。archive资源会默认被解压,解压后的文件名等同于资源名去掉后缀。例如上传的资源名是mnist.zip,则解压名为mnist

DataWorks中上传资源限制最大为50 MB。如果需要使用更大的资源,需要将该资源通过MaxCompute客户端(odpscmd)上传为MaxCompute资源,然后将该资源添加到数据开发中。