赞
踩
One stack to rule them all(一个技术堆栈容纳各种数据处理技术)
包括的大数据计算模型:MapReduce、Streaming、SQL、Machine Learning、graph Processing
Spark streaming : 流计算框架
Spark SQL:结构化数据SQL查询与分析的查询引擎
MLlib,MLbase:具有机器学习功能的系统MLbase和底层的分布式机器学习库Mllib
GraphX: 并行图计算框架
BlinkDB:近似计算查询引擎
Tachyon:内存分布式文件系统
Mesos:资源管理框架
统一构成了Spark的整个生态系统 称为 伯克利数据分析栈(BDAS)
支持的语言:Scala、Python交互式语言;Java编译式语言
Spark的有向无环图(directed acydic graph, DAG)调度及RDD间的Lineage(血统)关系
RDD抽象类的5大部分:
1. getPartitions方法:分区列表(数据块列表)
2. compute方法:计算每个分片的函数
3. getDependencies方法:对父RDD的依赖列表
4. partitioner:Key-Value(键-值)RDD的分区器
5. getPreferedLocations方法:每个数据分片的预定义地址列表(如HDFS上的数据块的地址)
前三个用于描述RDD间Lineage(血统)信息,后两个用于优化执行。
RDD操作:
Transformation和Action,为每个Action会起一个job,只有在action触发后才会transformation(lazy execution 惰性执行)
RDD的依赖关系:
窄依赖:子RDD的每个分区依赖于常数个父分区(与数据规模无关)
宽依赖:子RDD的每个分区依赖于所有父RDD的分区
DAG:
DAG调度时会根据Shuffle将job划分成stage
交互式或者提交应用式两种。
Spark-shell, Spark-submit
实践领域
数据抽取-转换-装载(ETL: Extract-Transform-Load)
数据统计
数据挖掘
数据可视化
数据持久化的定制报告
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。