首页 > 代码库 > 《OD学spark》20160925 Spark Core
《OD学spark》20160925 Spark Core
一、引言
Spark内存计算框架
中国Spark技术峰会
十二场演讲
大数据改变世界,Spark改变大数据
大数据:
以Hadoop 2.x为主的生态系统框架(MapReduce并行计算框架)
存储数据、处理数据
分布式
Spark:
类似于MapReduce的另外一种分布式计算框架
核心:
数据结构:RDD,集合List[T]
MapReduce
最大的痛点:
IO性能瓶颈,也是所有分布式计算框架的痛点
(1)磁盘IO,
input(disk) -> map -> DISK(local)->reduce->output(DISK)
(2)网络IO,
shuffle
2015年Spark Submit
阿里巴巴和databricks
全球,每天使用Spark处理数据最大的公司
数据量: 1PB = 1024TB
腾讯:集群规模 8000台
Spark:内存计算框架
为什么要将中间结果存储到磁盘中呢?要进行写呢?我放入内存不行吗?
input(disk) -> flatMap -> memory->map->memory->groupByKey->memory->map->output(DISK)
分析:
(1)将中间处理的数据,存储在内存中
(2)提供很多的Operation,上百种
list.map(_ * 2).filter(_ % 5 == 1).map(_ + 100)
对于迭代计算、机器学习
Scala->Java->JVM
作业:
假期期间,MapReduce Shuffle过程,好好再理解
Spark处理分析数据:
(1)读取输入数据
Core: Rdd
SQL: DataFrame
Streaming:DStream
(2)process data
Core: rdd#xxx
SQL: df#xxx
Streaming:dstream#xxx
里面的方法基本上95%以上都是高阶函数,依据你自己的需求,定义操作
(3)ouputdata
resultRdd.saveAsTextFile("")
resultDF.write.jdbc.(url, tableName, props)
resultDStream.foreach(Redis\HBase\RDBMS)
《OD学spark》20160925 Spark Core