前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spark入门- Spark运行Local本地模式

Spark入门- Spark运行Local本地模式

作者头像
栗筝i
发布2022-12-01 21:20:33
1.3K0
发布2022-12-01 21:20:33
举报
文章被收录于专栏:迁移内容迁移内容

1
1

一、Spark单机模式部署

Spark版本 : spark-2.4.7-bin-hadoop2.7

1、安装配置JDK环境
2、下载Spark

官网下载http://spark.apache.org/

然后上传到LInux服务器上

3、解压
代码语言:javascript
复制
tar -zxvf spark-2.4.7-bin-hadoop2.7.tgz
解压目录说明
代码语言:javascript
复制
bin        可执行脚本
conf       配置文件
data       示例程序使用数据
examples   示例程序
jars       依赖 jar 包
python     pythonAPI
R          R 语言 API
sbin       集群管理命令
yarn       整合yarn需要的文件
4、启动master节点
代码语言:javascript
复制
./sbin/start-master.sh
5、启动woker节点:./sbin/start-slave.sh

例如:start-slave.sh spark://Ice:7077

参数:表示master节点的访问地址(注意host-ip映射)

6、连接单机Spark集群
代码语言:javascript
复制
spark-shell --master spark://Ice:7077 (Spark Scala交互式开发环境,“:quit”退出)

二. 运行官方求PI的案例

代码语言:javascript
复制
bin/spark-submit --class org.apache.spark.examples.SparkPi --master local[2] ./examples/jars/spark-examples_2.11-2.4.7.jar 100

结果片段:Pi is roughly 3.1416503141650316

2.1、spark-submit语法
代码语言:javascript
复制
./bin/spark-submit 
--class <main-class> 
--master <master-url> 
--deploy-mode <deploy-mode> 
--conf <key>=<value> 
... # other options
<application-jar> 
[application-arguments]
  • master 指定 master 的地址,默认为local. 表示在本机运行.
  • class 你的应用的启动类 (如 org.apache.spark.examples.SparkPi)
  • deploy-mode 是否发布你的驱动到 worker节点(cluster 模式) 或者作为一个本地客户端 (client 模式) (default: client)
  • conf: 任意的 Spark 配置属性, 格式key=value. 如果值包含空格,可以加引号"key=value"
  • application-jar: 打包好的应用 jar,包含依赖. 这个 URL 在集群中全局可见。 比如hdfs:// 共享存储系统, 如果是 file:// path, 那么所有的节点的path都包含同样的jar
  • application-arguments: 传给main()方法的参数
  • executor-memory 1G 指定每个executor可用内存为1G
  • total-executor-cores 6 指定所有executor使用的cpu核数为6个
  • executor-cores 表示每个executor使用的 cpu 的核数

三、使用 Spark-shell

Spark-shellSpark 给我们提供的交互式命令窗口(类似于 Scala 的 REPL)

3.1、打开 Spark-shell
代码语言:javascript
复制
$ bin/spark-shell 
代码语言:javascript
复制
Spark context Web UI available at http://Ice:4040
Spark context available as 'sc' (master = local[*], app id = local-1608775323264).
Spark session available as 'spark'.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.4.7
      /_/
         
Using Scala version 2.11.12 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_251)
Type in expressions to have them evaluated.
Type :help for more information.

scala> 

四、wordcount案例

4.1、 创建 2 个文本文件
代码语言:javascript
复制
mkdir input
cd input
touch 1.txt
touch 2.txt
写入内容
4.2、打开 Spark-shell
代码语言:javascript
复制
bin/spark-shell 
查看进程和通过 web 查看应用程序运行情况

可以看到一句Spark context Web UI available at http://Ice:4040

4.3、访问地址:http://Ice:4040
在这里插入图片描述
在这里插入图片描述
4.4 运行 wordcount 程序
代码语言:javascript
复制
sc.textFile("./input").flatMap(_.split(" ")).map((_, 1)).reduceByKey(_ + _).collect

scala> sc.textFile("/root/sparkdemo/demo1/input").flatMap(.split(" ")).map((, 1)).reduceByKey(_ + _).collect res0: Array[(String, Int)] = Array((are,1), (SQL,1), (world,1), (you,1), (hadoop,1), (how,1), (MapReduce,1), (hello,2), (spark,4), (hi,1), (core,1)) scala>

4.5、登录Ice:4040查看程序运行

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fCXxgJmX-1609287306339)(image/image2.png)]

4.6、 提交流程
17
17
4.7、 wordcount 数据流程分析
18
18
  1. textFile("input"):读取本地文件input文件夹数据;
  2. flatMap(_.split(" ")):压平操作,按照空格分割符将一行数据映射成一个个单词;
  3. map((_,1)):对每一个元素操作,将单词映射为元组;
  4. reduceByKey(_+_):按照key将值进行聚合,相加;
  5. collect:将数据收集到Driver端展示。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-12-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Spark单机模式部署
    • 4、启动master节点
    • 二. 运行官方求PI的案例
      • 2.1、spark-submit语法
      • 三、使用 Spark-shell
        • 3.1、打开 Spark-shell
        • 四、wordcount案例
        相关产品与服务
        文件存储
        文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档