Coursera, Big Data 3, Integration and Processing (week 5)

 

Week 5, Big Data Analytics using Spark

 
 

Programing in Spark

 

 

 

Spark Core: Programming in Spark using RDD in pipelines

 

 RDD 创建过后,会有两种操作,Transformation 和 Action. 只有到了Action 阶段才会验证Transformation 操作是否正确,所以经常看到Action阶段有很多报错. 叫 lazy 

 

下图是一个具体的例子. 教程里提到了cache功能,比如从数据库query 数据放到RDD里,这个过程比较耗时,为了防止每次都去执行query操作,我们就可以把第一次的结果()也就是RDD) cache起来,但是注意使用cache 很耗内存,可能会造成瓶颈..

 

 

 

 

 

Spark Core: Transformation

RDD本身不能被改变,只能通过transformtion操作转成一个新的RDD

 

Map transformation

黄色部分是worker node, 一个RDD会把它的partitions(黑色部分)分布到不同的worker nodes. 一个partition里面有多个item. Spark 是基于partition来做事的, 而MapReduce 是基于item的.

 

flatMap transfromation, 一对多

map 和 flatMap 是narrow tranformation. narrow transformation 只依赖于一个partition上的数据,并且 data suffering is not nessary.

 

 

Filter transformation

 

Coalesce transformation, 比如

  

上面谈的都是narrow transformation, 都是本地处理数据不需要在网络上传输数据。

接下来谈wide transformation

 

 

先看看reduceByKey 和 groupByKey 的区别.

groupByKey 需要跨节点的shuffle 操作,输出是一个由 初始数字 1 组成的列表

 

reduceByKey 其实就是 groupByKey + reduce

 

 

 narrow transformation 和 wide transformation 区别: 就看有没有跨节点的 shuffle 操作, 也就是有没有跨节点取数据做操作

 

 

 Spark Core: Actions

 

第一个Action操作是很常见的collect, 它从worker node 收集最终的结果数据copy到driver node.

 

 

 

 

 

 其中Reduce 最常用

 

 

Main models in Spark eco

 

Spark SQL

做什么的?优势?

 

 

Spark SQL 提供了API可以使query来的data转成 DataFrame

 

具体怎么做?

 

 

 

 

 

 

Spark SQL summary

 

 

Spark Streaming

 

 

Spark Streaming summary

 

Spark MLlib

 

 

Spark GraphX

 

 

 

 

 

Spark GraphX summary

 

转载于:https://www.cnblogs.com/mashuai-191/p/10243385.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值