>>分享SPSS,Hadoop等大数据处理技术,以及分布式架构以及集群系统的构建 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 19339 个阅读者 刷新本主题
 * 贴子主题:  Spark客户端之Spark Submit的使用 回复文章 点赞(0)  收藏  
作者:mary    发表时间:2020-06-16 11:53:17     消息  查看  搜索  好友  邮件  复制  引用

   Spark的客户端(Driver)有两种:Spark Submit和Spark Shell。这两种客户端相同点都是维护一个Spark Context对象,来向Spark集群提交任务;不同点是Spark Submit只能提交任务,不能交互,而Spark Shell是一个命令行工具,即可以提交任务,还可以人机交互。本节先来介绍Spark Submit客户端的使用。

     例子:使用蒙特卡罗方法计算圆周率。

1.蒙特卡罗方法计算圆周率的基本思想

            点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小


     如图所示,蒙特卡罗方法求圆周率,使用的是概率的思想:往正方形区域随机撒点,总点数记为P2,落在单位圆区域内的点数记为P1,单位圆的面积为π,正方形的面子为4,π = P1 / P2 * 4。这里的P1和P2均由随机实验中得到,实验的次数(P2)越多,得到的结果就越精确。

2.使用Spark Submit提交测试用例SparkPI

Spark提供的测试用例$SPARK_HOME/examples/jars/spark-examples_2.11-2.1.0.jar中就有蒙特卡罗求圆周率的例子SparkPI,我们就使用它来介绍Spark Submit的使用。

2.1启动Spark集群

(1)如果配置了基于Zookeeper的Spark HA,需要先启动Zookeeper服务器
  [root@master ~]# zkServer.sh start
(2)启动Spark集群
  [root@master ~]# start-all.sh

     [root@master ~]# jps

3578 Jps

3468 QuorumPeerMain

3501 Master
  [root@slave1 ~]# jps

1992 Worker

2073 Jps
  [root@slave2 ~]# jps

2082 Jps

1992 Worker

2.2使用Spark Submit提交SparkPI任务

使用Spark Submit的命令格式如下:
  spark-submit --master SparkMaster节点 --class Java类名 Jar包 其他参数
(1)提交SparkPI任务,随机实验次数为100:
  [root@master ~]# cd /root/training/spark-2.1.0-bin-hadoop2.7/

[root@master spark-2.1.0-bin-hadoop2.7]# bin/spark-submit --master spark://master:7077

--class org.apache.spark.examples.SparkPi examples/jars/spark-examples_2.11-2.1.0.jar 100
            点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

     (2)提交SparkPI任务,随机实验次数为1000:
  [root@master spark-2.1.0-bin-hadoop2.7]# bin/spark-submit –master spark://master:7077

–class org.apache.spark.examples.SparkPi examples/jars/spark-examples_2.11-2.1.0.jar 1000
            点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

     (3)提交SparkPI任务,随机实验次数为10000:
  [root@master spark-2.1.0-bin-hadoop2.7]# bin/spark-submit –master spark://master:7077

–class org.apache.spark.examples.SparkPi examples/jars/spark-examples_2.11-2.1.0.jar 10000
            点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

     可以看到上面三次实验的结果分别是:
PI = 3.1416903141690313

PI = 3.141910431419104

PI = 3.141647975141648
    一般对于随机实验来说,试验次数越多结果越精确。但是不免存在误差。如果想要获取更精确的圆周率,你可以输入更多的次数进行测试。但这不是本文介绍的重点。

     至此,使用Spark Submit客户端提交Spark任务的方法已经介绍完毕,祝你玩的愉快!


----------------------------
原文链接:https://www.jianshu.com/p/fec4d0dcb164

程序猿的技术大观园:www.javathinker.net



[这个贴子最后由 flybird 在 2020-06-18 10:55:29 重新编辑]
  Java面向对象编程-->数组
  JavaWeb开发-->自定义JSP标签(Ⅱ)
  JSP与Hibernate开发-->域对象在持久化层的四种状态
  Java网络编程-->用Axis发布Web服务
  精通Spring-->Vue CLI脚手架工具
  Vue3开发-->Vue组件开发高级技术
  30岁女IT工程师感叹:靠这工具,把报表做成养老工作,月薪快...
  mongodb与redis与Hbase比较
  Spark学习之Redis
  kubeadm安装k8s集群1.17版本
  酒店评论数据分析和挖掘-展现数据分析全流程:报告展示篇
  Hadoop中文词频统计
  基于Spark MLlib平台的协同过滤算法---电影推荐系统
  Spark高级排序与TopN问题揭密
  Hive 企业级调优
  大数据平台CDH搭建
  hive 的支持的文件类型与 压缩格式
  Spark Thrift JDBCServer应用场景解析与实战案例
  数据科学最终迁移到云端的5个原因
  SSH免除免密登录的配置
  大数据的概念、作用和处理流程
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。