如何在DLF上开发一个Spark作业

举报
lixinlong 发表于 2018/07/30 15:54:15 2018/07/30
【摘要】 对数据湖探索(DLI)服务,用户日常大部分时间会使用SQL对数据进行分析处理,但是在某些时候处理的逻辑特别复杂,无法通过SQL处理,可以写Spark作业进行分析处理。本文描述通过一个例子演示如何在服务湖工厂(DLF)上提交一个Spark作业。

对数据湖探索(DLI)服务,用户日常大部分时间会使用SQL对数据进行分析处理,但是在某些时候处理的逻辑特别复杂,无法通过SQL处理,可以写Spark作业进行分析处理。本文描述通过一个例子演示如何在服务湖工厂(DLF)上提交一个Spark作业。


创建DLI集群
运行Spark 作业前需要在DLI服务下创建一个DLI集群,DLI集群提供运行Spark作业所需的物理资源。
说明:队列容量的1CU相当于4核16GB。

DLI集群.JPG


获取Spark作业代码
例子演示的Spark作业代码来自Spark的例子https://github.com/apache/spark/blob/branch-2.1/examples/src/main/scala/org/apache/spark/examples/SparkPi.scala,例子的逻辑是计算 π的近似值。你可以下载整个Spark代码,自己编译jar包,也可以直接从maven库下载jar包,下载地址:http://repo.maven.apache.org/maven2/org/apache/spark/spark-examples_2.10/1.1.1/spark-examples_2.10-1.1.1.jar

有了jar包后,将jar包上传到obs的桶中。接着在DLF上创建一个资源关联到spark-examples_2.10-1.1.1.jar。
创建资源.JPG 


创建DLF作业
创建一个DLF作业,里面包含一个DLI Spark节点,填写DLI Spark节点参数。

Spark作业.JPG 
【参数说明】
作业运行资源: DLI Spark节点运行时,限制最大可以使用的CPU、内存资源(最大能够使用的CPU资源还受制于DLI集群的队列容量)。参考:https://support.huaweicloud.com/api-uquery/uquery_02_0114.html#uquery_02_0114__zh-cn_topic_0103343292_zh-cn_topic_0102902454_table1656812183429
作业主类: DLI Spark作业的main class,在本例子就是org.apache.spark.examples.SparkPi。

Jar包参数:DLI Spark作业的main class的入口参数,如果没有,就空着。
Spark作业运行参数:Spark作业的启动参数,这个参数当前没有什么用,后面会去掉。
日志路径:DLF作业的运行日志存储的OBS路径。


运行DLF作业
作业编排完毕后,右键点击DLI Spark,从查看日志可以看到节点运行日志。

节点日志.JPG 
 

 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。