如何在DLF上开发一个Spark作业
【摘要】 对数据湖探索(DLI)服务,用户日常大部分时间会使用SQL对数据进行分析处理,但是在某些时候处理的逻辑特别复杂,无法通过SQL处理,可以写Spark作业进行分析处理。本文描述通过一个例子演示如何在服务湖工厂(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,从查看日志可以看到节点运行日志。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)