本文介绍如何通过DataWorks(大数据开发治理平台)创建及配置MaxCompute Spark节点,包括资源上传、节点配置和参数传递等操作。
使用流程
步骤一:创建资源
登录DataWorks控制台,在左上角选择地域。
选择工作空间,单击进入Data Studio。
在最左侧导航栏单击资源管理
图标,新建目录后,单击目录右侧
新建资源,选择MaxCompute Jar。上传模板项目工程编译出来的Jar包。上传之后必须单击发布资源,否则无法被Spark节点识别。
步骤二:创建MaxCompute Spark节点
在DataWorks中创建一个MaxCompute Spark节点。
在最左侧导航栏单击数据开发
图标,单击
新建节点,。选择上一步骤上传的jar资源并按照
spark-defaults.conf中的配置填写DataWorks页面上的配置项。Main Class和参数是主类和对应的参数,单击发布。发布成功后,单击去运维。在新的页面,单击新建节点操作列的测试。
DataWorks Spark节点配置
节点介绍
DataWorks中的MaxCompute Spark节点配置本质上对应于spark-submit命令的参数和选项。具体对应关系如下表所示:
DataWorks节点配置项 | spark-submit对应参数 |
主java/python资源 |
|
配置项 |
|
main class |
|
参数 |
|
选择jar资源 |
|
选择python资源 |
|
选择file资源 |
|
选择archives资源 |
|
配置项
对应于spark-submit命令的--conf,即上表第二条。
accessid,accesskey,projectname,endpoint无需配置,默认是生产账号(支持显式配置,显式配置后将覆盖默认值)。除此之外,需要将
spark-default.conf中的配置逐条加到DataWorks的配置项中。
传参数
DataWorks Spark节点支持传递参数(如bizdate),操作步骤如下:
在调度 > 参数中添加参数,与SQL节点的方式相同。
在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资源,然后将该资源添加到数据开发中。