SPARK必备概念

RDD (resilient distributed dataset)弹性分布式数据集

One stack to rule them all(一个技术堆栈容纳各种数据处理技术)
包括的大数据计算模型:MapReduce、Streaming、SQL、Machine Learning、graph Processing

对应的Spark四大子框架:Spark Streaming,Spark SQL,Mllib, GraphX

Spark streaming : 流计算框架
Spark SQL:结构化数据SQL查询与分析的查询引擎
MLlib,MLbase:具有机器学习功能的系统MLbase和底层的分布式机器学习库Mllib
GraphX: 并行图计算框架
BlinkDB:近似计算查询引擎
Tachyon:内存分布式文件系统
Mesos:资源管理框架
统一构成了Spark的整个生态系统 称为 伯克利数据分析栈(BDAS)
支持的语言:Scala、Python交互式语言;Java编译式语言

RDD编程模型

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 RDD 实践案例与部署方式:

交互式或者提交应用式两种。
Spark-shell, Spark-submit

实践领域
数据抽取-转换-装载(ETL: Extract-Transform-Load)
数据统计
数据挖掘
数据可视化
数据持久化的定制报告

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值