spark框架是如何处理数据的
Hadoop MapReduce框架
并行计算的思想、分而治之的思想
scala集合高阶函数
处理数据的思想
将 要分析的数据放到集合中去,然后调用集合的高阶函数处理数据
spark是什么
统一分析引擎为海量数据处理
统一:什么样的数据都能处理分析,什么类型的数据都可以处理,实时,离线,流式都可以
MapReduce
map,reduce函数
将分析的中间结果放在磁盘中,并且后续进行分析数据的时候,再次从磁盘中去读取数据,以往此往返
Runs Everywhere
spark要处理的数据在哪里
hdfs/hive/HBASE/ORC/parquet/csv/tsv/jdbc/redis/mangdb/ES/…
spark能从哪里读数据,就可以往那里写数据
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版本与依赖
目前使用最多的版本
- 2.2.0
- 1.6.1
- http://spark.apache.org/docs/2.2.0/
spark安装的依赖
- JDK8
- scala
- spark
Spark安装
1. 上传,解压
2. 修改配置
3. 启动
帮助命令: bin/spark-shell –help
启动交互式命令: bin/spark-shell --master local[2]
4. 验证是否启动成功
首先,不报错,进入交互式命令行
在webUI上查看