目录

环境搭建-Local

安装包下载

运行spark-shell

开箱即用

spark-shell说明

初体验-读取本地文件

​​​​​​​初体验-读取HDFS文件

​​​​​​​监控页面


环境搭建-Local

Spark中有2类角色,一个是Master类似Namenode做管理

一个是Worker类似DataNode是干活的。

Local模式就是,以一个JVM进程,去模拟整个Spark的运行环境,就是讲Master和Worker角色以线程的形式运行在这个进程中。

安装包下载

目前Spark最新稳定版本:2.4.x系列,官方推荐使用的版本,也是目前企业中使用较多版本,网址:

https://github.com/apache/spark/releases

http://spark.apache.org/downloads.html

http://archive.apache.org/dist/spark/spark-2.4.5/

Spark 2.4.x依赖其他语言版本如下,其中既支持Scala 2.11,也支持Scala 2.12,推荐使用2.11。

​​​​​​​Spark安装

将spark安装包【spark-2.4.5-bin-hadoop2.7.tgz】解压至【/export/server】目录:


解压软件包tar -zxvf spark-2.4.5-bin-hadoop2.7.tgz创建软连接,方便后期升级ln -s /export/server/spark-2.4.5-bin-hadoop2.7 /export/server/spark如果有权限问题,可以修改为root,方便学习时操作,实际中使用运维分配的用户和权限即可chown -R root /export/server/spark-2.4.5-bin-hadoop2.7chgrp -R root /export/server/spark-2.4.5-bin-hadoop2.7

中各个目录含义如下:

bin        可执行脚本

conf       配置文件

data       示例程序使用数据

examples   示例程序

jars       依赖 jar 包

python     pythonAPI

sbin       集群管理命令

yarn       整合yarn需要的东东

​​​​​​​运行spark-shell

开箱即用

直接启动bin目录下的spark-shell:

进入Spark安装目录

cd /export/server/spark


##直接使用spark-shell,默认使用local[*]bin/spark-shell## 或bin/spark-shell --master local[2]

spark-shell说明

1.直接使用./spark-shell

表示使用local 模式启动,在本机启动一个SparkSubmit进程

2.还可指定参数 --master,如:

spark-shell --master local[N] 表示在本地模拟N个线程来运行当前任务

spark-shell --master local[*] 表示使用当前机器上所有可用的资源

3.不携带参数默认就是

spark-shell --master local[*]

4.后续还可以使用--master指定集群地址,表示把任务提交到集群上运行,如

./spark-shell --master spark://node01:7077,node02:7077

5.退出spark-shell

使用 :quit

本地模式启动spark-shell:

运行成功以后,有如下提示信息:

其中

创建SparkContext实例对象:sc

SparkSession实例对象:spark

启动应用监控页面端口号:4040

​​​​​​​初体验-读取本地文件

1.准备数据

vim /root/words.txt


hello me you her hello you herhello her hello

2.执行WordCount


val textFile = sc.textFile("file:///root/words.txt")val counts = textFile.flatMap(_.split(" ")).map((_,1)).reduceByKey(_ + _)counts.collect

​​​​​​​初体验-读取HDFS文件

1.准备数据

上传文件到hdfshadoop fs -put /root/words.txt /wordcount/input/words.txt目录如果不存在可以创建hadoop fs -mkdir -p /wordcount/input结束后可以删除测试文件夹hadoop fs -rm -r /wordcount

2.执行WordCount

val textFile = sc.textFile("hdfs://node1:8020/wordcount/input/words.txt")val counts = textFile.flatMap(_.split(" ")).map((_,1)).reduceByKey(_ + _)counts.collectcounts.saveAsTextFile("hdfs://node1:8020/wordcount/output")

查看文件内容

hadoop fs -text /wordcount/output/part*

​​​​​​​监控页面

每个Spark Application应用运行时,启动WEB UI监控页面,默认端口号为4040,

可以使用浏览器打开页面,

http://node1:4040/jobs/

2021年大数据Spark(五):大环境搭建本地模式 Local相关推荐

  1. 2021年大数据Spark(六):环境搭建集群模式 Standalone

    目录 环境搭建-Standalone 前言 Standalone 架构 ​​​​​​​集群规划 修改配置并分发 修改slaves ​​​​​​​分发到其他机器 修改spark-env.sh 集群启动和 ...

  2. 2021年大数据Spark(八):环境搭建集群模式 Standalone HA

    环境搭建-Standalone HA 高可用HA Spark Standalone集群是Master-Slaves架构的集群模式,和大部分的Master-Slaves结构集群一样,存在着Master单 ...

  3. 2021年大数据Spark(四十二):SparkStreaming的Kafka快速回顾与整合说明

    目录 Kafka快速回顾 消息队列: 发布/订阅模式: Kafka 重要概念: 常用命令 整合说明 两种方式 两个版本API 在实际项目中,无论使用Storm还是SparkStreaming与Flin ...

  4. 2021年大数据Spark(二十七):SparkSQL案例一花式查询和案例二WordCount

    目录 案例一:花式查询 案例二:WordCount 基于DSL编程 基于SQL编程 具体演示代码如下: 案例一:花式查询 package cn.itcast.sqlimport org.apache. ...

  5. 2021年大数据Spark(二十三):SparkSQL 概述

    目录 SparkSQL 概述 前世今生 Shark 框架-淘汰了 SparkSQL 模块 Hive 与 SparkSQL 官方定义 第一.针对结构化数据处理,属于Spark框架一个部分 第二.抽象数据 ...

  6. 2021年大数据Spark(四):三种常见的运行模式

    目录 Spark 运行模式 一.本地模式:Local Mode 二.集群模式:Cluster Mode 三.云服务:Kubernetes 模式 ​​​​​​​ Spark 运行模式 Spark 框架编 ...

  7. 2021年大数据Spark(一):框架概述

    目录 Spark框架概述 Spark 是什么 分布式内存迭代计算框架 官方定义: Spark框架概述 Spark 是加州大学伯克利分校AMP实验室(Algorithms Machines and Pe ...

  8. 2021年大数据Spark(三十一):Spark On Hive

    目录 Spark On Hive spark-sql中集成Hive Spark代码中集成Hive Spark On Hive Spark SQL模块从发展来说,从Apache Hive框架而来,发展历 ...

  9. 2021年大数据Spark(十一):应用开发基于IDEA集成环境

    目录 Spark应用开发-基于IDEA 创建工程 WordCount本地运行 WordCount集群运行 注意 修改代码如下 打成jar包 改名 上传jar包 提交到Yarn WordCount-Ja ...

最新文章

  1. CSE 3100 Systems Programming
  2. Bundle savedInstanceState的作用
  3. 以数据为核心的SOC3.0时代到来
  4. Python进阶:如何将字符串常量转化为变量?
  5. wince导航_宁可用手机导航,也不用汽车导航?
  6. js判断浏览器是否支持flash的方法
  7. 从java到C++入门
  8. 在WEB中实现打印分页
  9. css特性:空白外边距互相叠加
  10. MongoDB:有人敢像我一样说出开源的真实用意吗?
  11. Seaborn学习(一)------- 构建结构化多绘图网格(FacetGrid()、map())详解
  12. keil5.24 +注册机 下载
  13. Android studio 解决Gradle下载缓慢的问题
  14. grads插值_GrADS学习资料:第2章 数据处理
  15. java 游戏源码_源码下载 - Java源码 - 游戏娱乐
  16. 一文教你学会DIY串口线
  17. 低功耗MCU的选择方法
  18. 这位程序员桌面很干净
  19. SVN版本控制与恢复删除
  20. 如何成为一名数据分析师:数据的初步认知

热门文章

  1. 伍六七带你学算法 入门篇-最小的k个数
  2. 2022-2028年中国地铁广告行业研究及前瞻分析报告
  3. 2022-2028年中国三轴陀螺仪行业市场深度分析及投资前景分析报告
  4. pytorch版的bilstm+crf实现sequence label
  5. viterbi维特比算法和隐马尔可夫模型(HMM)
  6. LeetCode简单题之位1的个数
  7. LookupError: unknown encoding: uft-8
  8. python 16进制转10进制, 8进制转10进制, 2进制转10进制的方法
  9. org.gradle.api.internal.tasks.DefaultTaskInputs$TaskInput........
  10. java增强for循环