spark初識
1.MapReduce
map + reduce 開發(fā)easy?
一般情況下:map ==》(寫入) 磁盤 reduce ==>(寫入) hdfs
特殊;一個作業(yè)由多個MR作業(yè)構成,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有向無環(huán)圖: DataFlow pipeline
基于多線程級別
2.Ease of Use(易用性)
scala
3. Generality(通用性)
spark SQL 坛猪、 SPark Streaming
4.Runs Everywhere(運行在各個地方)
可以訪問各種各樣的數(shù)據(jù)源
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
優(yōu)先選擇活躍讀高的框架或者技術
jira issue
總結:
1.speed
1.1run: memory
DAG有向無環(huán)圖:
Thread
2. write:
Scala
Java
SQL
3.Unified Stack(統(tǒng)一的一個棧)
部署
運行在各個地方
可以訪問各種各樣的數(shù)據(jù)源
spark發(fā)展歷程
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數(shù)據(jù)
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