首页 > 代码库 > 《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