MRS Spark Python
功能
通过MRS Spark Python节点实现在MRS中执行预先定义的Spark Python作业。
MRS Spark Python算子的具体使用教程,请参见开发一个MRS Spark Python作业。
名词解释
- 运行程序参数 (Program Arguments):通常指传递给Spark Driver的--conf配置或Spark Submit的选项。
- 执行程序参数 / 脚本参数 (Script Arguments/Main Class Args):这是传递给Python脚本内部(即sys.argv或argparse)的参数。在该节点配置中,执行程序参数表示直接传递给Python代码的参数。
参数类型
填写内容示例
作用对象
解析方式
运行程序参数 (Spark Conf)
--conf spark.executor.memory=8g
Spark引擎
Spark Submit解析,用于配置集群资源。
执行程序参数 (Script Args)
简写URL(使用集群默认配置的NameNode地址): hdfs:///input hdfs:///output 或者: 完整URL: hdfs://host:port/path
Python脚本
传递给sys.argv,由Python代码解析。
最佳使用场景:
- 资源调整(内存、CPU、Shuffle分区):放在 “运行程序参数” 或界面专门的资源配置框中。
- 业务逻辑参数(输入路径、输出路径、过滤条件):放在 “执行程序参数” 中。
参数
用户可参考表1,表2和表3配置MRS Spark Python节点的参数。
| 参数 | 是否必选 | 说明 |
|---|---|---|
| 节点名称 | 是 | 当前作业节点的名称。 节点名称只能包含英文字母、数字、中文字符、中划线、下划线、/、<>和点号,且长度小于等于128个字符。 说明: 节点名称不得包含其他以外的字符、超出长度限制等。如果节点名称不符合规则,将导致提交MRS作业失败。 默认情况下,节点名称会与选择的脚本名称保持同步。若不需要节点名称和脚本名称同步,请参考禁用作业节点名称同步变化禁用该功能。 |
| 作业名称 | 是 | MRS Spark的作业名称。 作业名称只能由英文字母、数字、中划线和下划线组成,长度不能超过64个字符,不能包含中文字符。 系统支持MRS作业名称按照作业名称_节点名称格式自动填入。 |
| MRS集群名 | 是 | 选择支持spark python的mrs集群。MRS只有特定版本支持spark python的集群,请先测试运行,保证集群支持。 如需新建集群,请参考以下方法:
如何新建集群,请参见《MapReduce服务(MRS) 使用指南》中的创建集群章节。 |
| MRS资源队列 | 否 | 选择已创建好的MRS资源队列。 说明: 您需要先在数据安全服务队列权限功能中,配置对应的队列后,才能在此处选择到已配置的队列。当有多处同时配置了资源队列时,此处配置的资源队列为最高优先级。 |
| 脚本类型 | 是 |
|
| SQL脚本 | 是 | 仅“脚本类型”配置为“在线脚本”时可以配置。 选择已创建的Spark Python脚本。 说明: 脚本传递参数给作业节点时,参数数量最多不能超过50个,参数名长度不能超过64个字符,且参数值长度不能超过256个字符。 |
| 运行程序参数 | 否 | 仅“脚本类型”配置为“在线脚本”时可以配置。 为本次执行的作业配置相关优化参数(例如线程、内存、CPU核数等),用于优化资源使用效率,提升作业的执行性能。MRS Spark代理连接不支持该配置。 参考示例:调整Spark执行资源(最常使用) 如果您发现作业运行慢或OOM(内存溢出),可以通过运行程序参数调整内存和核心数。 示例参数: --conf spark.executor.memory=8g --conf spark.executor.cores=4 --conf spark.driver.memory=4g --conf spark.sql.shuffle.partitions=200 解释如下: spark.executor.memory=8g:每个Executor分配8GB内存。 spark.executor.cores=4:每个Executor使用4个CPU核心。 spark.driver.memory=4g:Driver节点分配4GB内存。 spark.sql.shuffle.partitions=200:将Shuffle阶段的分区数设置为200。 说明: 若集群为MRS 1.8.7版本或MRS 2.0.1之后版本,需要配置此参数。 MRS Spark作业的运行程序参数,请参见《MapReduce用户指南》中的运行Spark作业。 |
| 参数 | 是 | 仅“脚本类型”配置为“离线脚本”时可以配置。 输入参数信息,多个参数间使用Enter键分隔。示例如下: --master yarn --deploy-mode cluster --num-executors 6 |
| 执行程序参数 | 否 | 仅“脚本类型”配置为“在线脚本”时可以配置。 执行程序参数表示直接传递给Python代码的参数。 输入MRS Spark Python的执行程序参数。 示例如下: DataArts Studio支持在参数中使用系统变量,如 ${bizdate}(表示业务日期)、${ds}(表示调度日期)等。 在DataArts Studio中的配置执行程序参数:
hdfs:///data/raw/${bizdate} hdfs:///data/clean/${bizdate} 参数解释: 当作业在2024-05-27运行时,${bizdate}会被自动替换为2024-05-27。 最终传递给Python脚本的参数变为: hdfs:///data/raw/2024-05-27 hdfs:///data/clean/2024-05-27 完整示例如下: 假设您要运行一个名为user_analysis.py的脚本,分析用户行为。 主文件:hdfs:///user/dayu/scripts/user_analysis.py 运行程序参数(Spark配置): --conf spark.executor.memory=8g --conf spark.sql.shuffle.partitions=200 执行程序参数(Python脚本参数): --input hdfs:///data/ods/user_behavior/${bizdate} --output hdfs:///data/dws/user_analysis/${bizdate} --date ${bizdate} 这样配置后,Spark会以8GB Executor内存运行,并将--input,hdfs://...,--output,hdfs://...,--date,2024-05-27等参数传递给Python脚本。 特别地,不同执行程序参数间用空格隔开,可通过在参数名前添加@的方式防止参数信息被明文存储。 说明: 请勿输入敏感信息,例如ak、sk、password、authorization等信息。 |
| 属性 | 否 | 输入key=value格式的参数,多个参数间使用Enter键分割。 |
| 参数 | 是否必选 | 说明 |
|---|---|---|
| 节点执行的最长时间 | 是 | 设置节点执行的超时时间,如果节点配置了重试,在超时时间内未执行完成,该节点将会再次重试。 |
| 失败重试 | 是 | 节点执行失败后,是否重新执行节点。
|
| 当前节点失败后,后续节点处理策略 | 是 | 节点执行失败后的操作:
|
| 是否空跑 | 否 | 如果勾选了空跑,该节点不会实际执行,将直接返回成功。 |
| 任务组 | 否 | 选择任务组。任务组配置好后,可以更细粒度地进行当前任务组中的作业节点的并发数控制,比如作业中包含多个节点、补数据、重跑等场景。 |
| 参数 | 说明 |
|---|---|
| 输入 | |
| 新建 | 单击“新建”,在“类型”的下拉选项中选择要新建的类型。可以选择DWS,OBS,CSS,HIVE,CUSTOM和DLI类型。 |
| 确定 | 单击“确认”,保存节点输入功能的参数配置。 |
| 取消 | 单击“取消”,取消节点输入功能的参数配置。 |
| 编辑 | 单击 |
| 删除 | 单击 |
| 查看表详情 | 单击 |
| 输出 | |
| 新建 | 单击“新建”,在“类型”的下拉选项中选择要新建的类型。可以选择DWS,OBS,CSS,HIVE,CUSTOM,CloudTable和DLI类型。 |
| 确定 | 单击“确认”,保存节点输出功能的参数配置。 |
| 取消 | 单击“取消”,取消节点输出功能的参数配置。 |
| 编辑 | 单击 |
| 删除 | 单击 |
| 查看表详情 | 单击 |






