spark初识
1.MapReduce
map + reduce 开发easy?
一般情况下:map ==》(写入) 磁盘 reduce ==>(写入) hdfs
特殊;一个作业由多个MR作业构成,A ===》 B==》C ==>D
Task:JVM
2.Spark多样性:
2.1 批处理、离线处理 MR hive Pig
2.2 流式、实时处理:Storm SparkStream Flink
2.3 SQL:Impala、Hive、
2.4 One Stack to rule them all(一站式解决)
2.5 批流一体:spark、Flink
可以集群的方式部署 也可以跑在yarn上面
特点:
1.Speed (速度)
memory > disk
DAG有向无环图: DataFlow pipeline
基于多线程级别
2.Ease of Use(易用性)
scala
3. Generality(通用性)
spark SQL 、 SPark Streaming
4.Runs Everywhere(运行在各个地方)
可以访问各种各样的数据源
You can run Spark using its standalone cluster mode, on EC2, on Hadoop YARN, on Mesos, or on Kubernetes. Access data in HDFS, Alluxio, Apache Cassandra, Apache HBase, Apache Hive, and hundreds of other data sources.
5. Community
优先选择活跃读高的框架或者技术
jira issue
总结:
1.speed
1.1run: memory
DAG有向无环图:
Thread
2. write:
Scala
Java
SQL
3.Unified Stack(统一的一个栈)
部署
运行在各个地方
可以访问各种各样的数据源
spark发展历程
2009年 AMPLab
2010年 开源
2013年6月 孵化
2014年2月 成为顶级项目 xxx.apache.org
2014年5月 1.0
2016年7月 2.0
2020年6月 3.0
版本号 x.y.z
x:Major version(大版本 可能API改变)
y:Minor version(添加一部分API)
z:Patch version(修改bug)
如何选择:
能选择最新的尽可能选最新的
尽量选择Z最大的
HAdoop
三驾马车:
GFS ---》 HDFS
MapReduce ----> MapReduce
Bigtable -----> Hbase
Batch: (批处理) MR 、 Hive RDD、DataFrame、DataSet
SQL: Hive SPARK SQL
Stream: Storm SS SSS
ML: Mathout MLlib
real time: Hbase DataSource API
Hadoop Vs Spark
分布式存储和计算框架 计算框架
MapReduce Stack
DIsk/HDFS DISK、Memory
Batch(延时型)
总结:MR和spark的shuffle都是落在disk 两个相辅相成,相互促进,
spark和hadoop基于磁盘运行的比较
100T数据
2100Node 72min
207NOde 23min
bin 客户端 sbin服务端
spark运行模式
local
standlone:N个机器用于部署Saprk
Master Worker
YARN:
K8s
./spark-shell --master local
cd lib rm -rf *.cmd
cd logs