上云无忧 > 文档中心 > 天翼云数据治理中心 DataArts Studio 数据开发使用教程 - 开发一个MRS Spark Python作业
数据治理中心 DataArts Studio
天翼云数据治理中心 DataArts Studio 数据开发使用教程 - 开发一个MRS Spark Python作业

文档简介:
本章节主要介绍DataArts Studio的开发一个MRS Spark Python作业流程。 本章节介绍如何在数据开发模块上进行MRS Spark Python作业开发。
*产品来源:中国电信天翼云。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

本章节介绍如何在数据开发模块上进行MRS Spark Python作业开发。

案例一:通过MRS Spark Python作业实现统计单词的个数

前提条件:

具有OBS相关路径的访问权限。

数据准备:

  • 准备脚本文件"wordcount.py",具体内容如下:
# -*- coding: utf-8 -* 
import sys 
from pyspark import SparkConf, SparkContext 
def show(x): 
    print(x) 
if __name__ == "__main__": 
    if len(sys.argv) < 2: 
        print ("Usage: wordcount <inputPath> <outputPath>") 
        exit(-1) 
    #创建SparkConf 
    conf = SparkConf().setAppName("wordcount") 
    #创建SparkContext  注意参数要传递conf=conf 
    sc = SparkContext(conf=conf) 
    inputPath = sys.argv[1] 
    outputPath = sys.argv[2] 
    lines = sc.textFile(name = inputPath) 
    #每一行数据按照空格拆分  得到一个个单词 
    words = lines.flatMap(lambda line:line.split(" "),True) 
    #将每个单词 组装成一个tuple 计数1 
    pairWords = words.map(lambda word:(word,1),True) 
    #使用3个分区 reduceByKey进行汇总  
    result = pairWords.reduceByKey(lambda v1,v2:v1+v2) 
    #打印结果 
    result.foreach(lambda t :show(t)) 
    #将结果保存到文件 
    result.saveAsTextFile(outputPath) 
    #停止SparkContext 
    sc.stop()复制
说明

需要将编码格式设置为“UTF-8”,否则后续脚本运行时会报错。

  • 准备数据文件“in.txt”,内容为一段英文单词。

操作步骤 :

  1. 将脚本和数据文件传入OBS桶中,如下图。

上传文件至OBS桶

说明

本例中,wordcount.py和in.txt文件上传路径为:obs://obs-tongji/python/

  1. 创建一个数据开发模块空作业,作业名称为“job_MRS_Spark_Python”。

新建作业

  1. 进入到作业开发页面,拖动“MRS Spark Python”节点到画布中并单击,配置节点的属性。

配置MRS Spark Python节点属性

参数设置说明:

--master 
yarn 
--deploy-mode 
cluster 
obs://obs-tongji/python/wordcount.py 
obs://obs-tongji/python/in.txt 
obs://obs-tongji/python/out复制

其中:

obs://obs-tongji/python/wordcount.py为脚本存放路径;

obs://obs-tongji/python/in.txt为wordcount.py的传入参数路径,可以把需要统计的单词写到里面;

obs://obs-tongji/python/out为输出参数文件夹的路径,并且会在OBS桶中自动创建该目录(如已存在out目录,会报错)。

  1. 单击“测试运行”,执行该脚本作业。
  2. 待测试完成,执行“提交”。
  3. 在“作业监控”界面,查看作业执行结果。

详见下图:查看作业执行结果

作业日志中显示已运行成功

详见下图:作业运行日志

详见下图:作业运行状态

  1. 查看OBS桶中返回的记录。(没设置返回可跳过)

详见下图:查看OBS桶返回记录

案例二:通过MRS Spark Python作业实现打印输出"hello python"

前提条件:

具有OBS相关路径的访问权限。

数据准备:

准备脚本文件"zt_test_sparkPython1.py",具体内容如下:

from pyspark import SparkContext, SparkConf 
conf = SparkConf().setAppName("master"). setMaster("yarn") 
sc = SparkContext(conf=conf) 
print("hello python") 
sc.stop()复制

操作步骤:

  1. 将脚本文件传入OBS桶中。
  2. 创建一个数据开发模块空作业。
  3. 进入到作业开发页面,拖动“MRS Spark Python”节点到画布中并单击,配置节点的属性。

参数设置说明:

--master 
yarn 
--deploy-mode 
cluster 
obs://obs-tongji/python/zt_test_sparkPython1.py复制

其中:zt_test_sparkPython1.py 为脚本所在路径

  1. 单击“测试运行”,执行该脚本作业。
  2. 待测试完成,执行“提交”。
  3. 在“作业监控”界面,查看作业执行结果。

详见下图:查看作业执行结果

  1. 日志验证。

运行成功后,登录MRS manager后在YARN上查看日志,发现有hello python的输出。

详见下图:查看YARN上日志

相似文档
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部