安装包下载地址:
    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[]
    使用*官方示例演示
    是否安装成功:

    1. bin/spark-submit \
    2. --class org.apache.spark.examples.SparkPi \
    3. --executor-memory 1G \
    4. --total-executor-cores 2 \
    5. ./examples/jars/spark-examples_2.11-2.1.1.jar \
    6. 100
    7. --master:指定Master的地址,默认为Local
    8. --class: 你的应用的启动类 (如 org.apache.spark.examples.SparkPi)
    9. --deploy-mode: 是否发布你的驱动到worker节点(cluster) 或者作为一个本地客户端 (client) (default: client)*
    10. --conf: 任意的Spark配置属性, 格式key=value. 如果值包含空格,可以加引号“key=value
    11. application-jar: 打包好的应用jar,包含依赖. 这个URL在集群中全局可见。 比如hdfs:// 共享存储系统, 如果是 file:// path, 那么所有的节点的path都包含同样的jar
    12. application-arguments: 传给main()方法的参数
    13. --executor-memory 1G :指定每个executor可用内存为1G
    14. --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端展示。

    1610225-20200109125933789-2096196443.gif

    image.png

    image.png
    解释一下这三个东西:

    • Web UI : 可以在web页面看到Spark集群的信息;
    • Spark context ..sc:可以理解为sc是Spark Core的程序入口;
    • Spark session ..spark:可以理解为spark是Spark SQL程序的入口。