Spark简介及安装测试
spark是什么?
Apache Spark™ is a unified analytics engine for large-scale data processing.: 统一分析引擎为海量数据处理
统一:什么样的数据都能处理分析,什么类型的数据都可以处理,实时,离线,流式都可以
MapReduce
map,reduce函数
将分析的中间结果放在磁盘中,并且后续进行分析数据的时候,再次从磁盘中去读取数据,以往此往返。。。
Runs Everywhere
-a.spark要处理的数据在哪里
hdfs/hive/HBASE/ORC/parquet/csv/tsv/jdbc/redis/mangdb/ES/…
spark能从哪里读数据,就可以往那里写数据
-b.spark程序运行在哪里
本地模式
集群模式
Yarn,Standalone,mesos Cluster
spark分析数据的过程(3步骤)
第一步、数据的读取(输入)
将要处理的数据读取封装到一个集合RDD中(类别Scala中List列表)
val inputRDD = sc.textFile(‘…”)
第二步、数据处理(分析)
调用集合RDD中函数(高阶函数)进行处理分析
RDD –>函数 ->另外一个RDD :transformation函数
val outpuRDD = inputRDD.#(#:基本就是List中函数)
比如:
map\flatMap\filter\reducebyKey
第三步、数据的输出(输出)
调用RDD中函数,返回的不是RDD类型
outputRDD.# :此类型函数称为Action函数
foreach\count\sum\first
3步放在一起,就是链式编程
sc.textFile(…).transformation().action
spark安装
依赖
JDK8, scala
安装包准备
我这里准备的是spark-2.2.0-bin-hadoop2.7.tgz的安装包,安装包可以在spark官网(http://spark.apache.org/)下载
上传解压
使用Linux自带的上传工具,将spark安装包上传到Linux下,然后解压到你想要安装的目录下
修改配置
进入到已经安装好的spark目录下的conf目录下,
将spark-env.sh.template修改为spark-env.sh
mv spark-env.sh.template spark-env.sh
然后进入到该文件里面添加配置
java的安装目录,Scala的安装目录已经Hadoop的配置文件目录
启动
可以查看帮助命令:
bin/spark-shell --help
启动交互式命令
bin/spark-shell --master local[2]
是否启动成功
不报错,进入交互式命令行
也可进入图中所示链接进入网页查看
到此,spark的安装就完成了