美文网首页小卜java
Hadoop系列-Spark安装以及HelloWorld

Hadoop系列-Spark安装以及HelloWorld

作者: 汤太咸啊 | 来源:发表于2022-04-02 16:38 被阅读0次

一、什么是Spark

Spark是Hadoop的一个为大规模数据的计算引擎,内存计算速度比MapReduce效率更高,可用它来完成各种各样的运算,包括 SQL 查询、文本处理、机器学习等。

二、下载Spark

下载地址:https://spark.apache.org/downloads.html

因为我本地的Hadoop是2.9的版本,因此选择了适合2.X版本的Hadoop的Spark

spark-3.0.3-bin-hadoop2.7.tgz

三、安装Spark

#复制spark安装文件到docker容器中
docker cp Downloads/spark-3.0.3-bin-hadoop2.7.tgz master:/usr/local

#进入docker
docker exec -it master bash

#解压
cd /usr/local/
tar -xvzf spark-3.0.3-bin-hadoop2.7.tgz

#进入Spark目录并修改配置spark-env.sh
cd /usr/local/spark-3.0.3-bin-hadoop2.7/conf/
cp spark-env.sh.template spark-env.sh
vi spark-env.sh
#在最后增加hadoop配置增加
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)

#增加log4j日志配置
cp log4j.properties.template log4j.properties

#配置环境变量.bash_profile
vi ~/.bash_profile
#增加SPAKR配置,并把SPARK_HOME增加到PATH最后
export SPARK_HOME=/usr/local/spark-3.0.3-bin-hadoop2.7
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin:$SPARK_HOME/bin

#配置环境变量.bashrc
vi ~/.bashrc
#增加SPAKR配置,并把SPARK_HOME增加到PATH最后
export SPARK_HOME=/usr/local/spark-3.0.3-bin-hadoop2.7
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin:$SPARK_HOME/bin

#生效环境变量
source ~/.bashrc
source ~/.bash_profile

#执行命令进入spark
spark-shell
#输出以下内容
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 3.0.3
      /_/

Using Scala version 2.12.10 (OpenJDK 64-Bit Server VM, Java 1.8.0_121)
Type in expressions to have them evaluated.
Type :help for more information.

scala> 
#到此表示启动成功,完事大吉

四、Spark Hello World统计字符个数

#编辑文件/usr/local/testFile.txt
vi /usr/local/testFile.txt

#文件内容
Hello world
tes tFile
123 dd
ddd dd
3434s dfdsf df
242343 43252
sdfs df

#重新进入Spark
spark-shell

#找到并读取本地文件/usr/local/testFile.txt
scala> val textFile = sc.textFile("file:///usr/local/testFile.txt")
textFile: org.apache.spark.rdd.RDD[String] = file:///usr/local/testFile.txt MapPartitionsRDD[38] at textFile at <console>:24

#读取文件并通过空格将所有字段分割
scala> val fileData = textFile.flatMap(line=>line.split(" "))
fileData: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[39] at flatMap at <console>:25

#统计文件中的各个字符数字,很清楚的展示了每个字符串出现了几次
scala> fileData.countByValue
res15: scala.collection.Map[String,Long] = Map(sdfs -> 1, 3434s -> 1, world -> 1, ddd -> 1, tFile -> 1, 123 -> 1, 43252 -> 1, dfdsf -> 1, Hello -> 1, df -> 2, tes -> 1, 242343 -> 1, dd -> 2)

前面写的都是Spark安装以及一个入门的helloworld的入门小脚本,咱们后边再写一写更加复杂的Spark相关知识。

谢各位的阅读,谢谢您动动手指点赞,万分感谢各位。另外以下是我之前写过的文章,感兴趣的可以点进去继续阅读。

历史文章

Hadoop系列-入门安装
Hadoop系列-HDFS命令
Hadoop系列-Hive安装
Hadoop系列-Hive数据库常见SQL命令
Hadoop系列-HBase数据库
Hadoop系列-HBase数据库(二)
Hadoop系列-HBase数据库JAVA篇
Hadoop系列-Spark安装以及HelloWorld
Hadoop系列-MapReduce小例子
Hadoop系列-Spark小例子
JAVA面试汇总(五)数据库(一)
JAVA面试汇总(五)数据库(二)
JAVA面试汇总(五)数据库(三)
JAVA面试汇总(四)JVM(一)
JAVA面试汇总(四)JVM(二)
JAVA面试汇总(四)JVM(三)
JAVA面试汇总(三)集合(一)
JAVA面试汇总(三)集合(二)
JAVA面试汇总(三)集合(三)
JAVA面试汇总(三)集合(四)
JAVA面试汇总(二)多线程(一)
JAVA面试汇总(二)多线程(二)
JAVA面试汇总(二)多线程(三)
JAVA面试汇总(二)多线程(四)
JAVA面试汇总(二)多线程(五)
JAVA面试汇总(二)多线程(六)
JAVA面试汇总(二)多线程(七)
JAVA面试汇总(一)Java基础知识

相关文章

网友评论

    本文标题:Hadoop系列-Spark安装以及HelloWorld

    本文链接:https://www.haomeiwen.com/subject/tpgtsrtx.html