安装包下载地址:
https://www.cnblogs.com/zhangyongli2011/p/10572152.html
https://archive.apache.org/dist/spark/spark-2.1.1/
https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.10.1/
https://www.cxyzjd.com/article/a904364908/81281995
https://www.cnblogs.com/simon-1024/p/12170884.html
安装需要的环境:JDK,Hadoop,Scala,然后是Spark,这四个都必须安装;
local模式启动spark:bin/spark-shell —master local[]
使用*官方示例演示是否安装成功:
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--executor-memory 1G \
--total-executor-cores 2 \
./examples/jars/spark-examples_2.11-2.1.1.jar \
100
--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 2 :指定每个executor使用的cup核数为2个
https://www.cnblogs.com/simon-1024/p/12170884.html
再来一个小的WordCount的小案例演示,同样也是很简单的。
1)创建待输入的文件
[simon@hadoop102 spark]$ mkdir input #创建a.txt和b.txt,填写如下内容: hello simon hello spark
运行WorkCount程序:
sc.textFile(“./input”).flatMap(.split(“ “)).map((,1)).reduceByKey(+).collect
- textFile(“input”):读取本地文件input文件夹数据;
- flatMap(_.split(“ “)):压平操作,按照空格分割符将一行数据映射成一个个单词;
- map((__,1)):对每一个元素操作,将单词映射为元组;
- reduceByKey(+):按照key将值进行聚合,相加;
- collect:将数据收集到Driver端展示。
解释一下这三个东西:
- Web UI : 可以在web页面看到Spark集群的信息;
- Spark context ..sc:可以理解为sc是Spark Core的程序入口;
- Spark session ..spark:可以理解为spark是Spark SQL程序的入口。