如何在DLF上开发一个Spark作业
对数据湖探索(DLI)服务,用户日常大部分时间会使用SQL对数据进行分析处理,但是在某些时候处理的逻辑特别复杂,无法通过SQL处理,可以写Spark作业进行分析处理。本文描述通过一个例子演示如何在服务湖工厂(DLF)上提交一个Spark作业。
创建DLI集群
运行Spark 作业前需要在DLI服务下创建一个DLI集群,DLI集群提供运行Spark作业所需的物理资源。
说明:队列容量的1CU相当于4核16GB。
获取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。
创建DLF作业
创建一个DLF作业,里面包含一个DLI Spark节点,填写DLI Spark节点参数。
【参数说明】
作业运行资源: 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,从查看日志可以看到节点运行日志。
- 点赞
- 收藏
- 关注作者
评论(0)