目录
百战程序员,全站22050+开发课程+文档 ,学习精选优质好课快人一步!观看视频 快捷键ALT+N

大数据全系列 教程

1869个小节阅读:467.6k

收藏
全部开发者教程

408考研

JAVA全系列 教程

面向对象的程序设计语言

Python全系列 教程

Python3.x版本,未来主流的版本

人工智能 教程

顺势而为,AI创新未来

大厂算法 教程

算法,程序员自我提升必经之路

C++ 教程

一门通用计算机编程语言

微服务 教程

目前业界流行的框架组合

web前端全系列 教程

通向WEB技术世界的钥匙

大数据全系列 教程

站在云端操控万千数据

AIGC全能工具班

A

A A

White Night

阅读(216)
赞(0)

SparkStreaming_DStream无状态转换

无状态转化操作就是把简单的RDD转化操作应用到每个批次上,也就是转化DStream中的每一个RDD。部分无状态转化操作列在了下表中。

注意,针对键值对的DStream转化操作(比如reduceByKey())要添加import StreamingContext._才能在Scala中使用。

方法名称作用参数函数签名示例
flatMap()对DS中的每个元素应用
给定函数,返回由各元
素输出的迭代器组成的DS
f∶T=>Iterable[U]flatMap(x =>x.split(" "))
map()对DS中的每个元素应用给
定函数,返回由各元素输
出的元素组成的DS
f:(T)=>Umap(x =>x*2)
filter()返回由给定DS中通过筛
选的元素组成的DS
f:T=>Booleanfilter(x =>x%2==0)
repartition()改变DStream的分区数N/Arepartition(5)
reduceByKey()将每个批次中键相同
的记录归约
f:T,T=>TreduceByKey(_+_)
groupByKey()将每个批次中的记录
根据键分组
N/AgroupByKey()

需要记住的是,尽管这些函数看起来像作用在整个流上一样,但事实上每个DStream在内部是由许多RDD(批次)组成,且无状态转化操作是分别应用到每个RDD上的。

例如:reduceByKey()会归约每个时间区间中的数据,但不会归约不同区间之间的数据。

实时效果反馈

1. 以下哪个选项不是无状态转换?

A flatMap()

B map()

C updateStateByKey()

D reduceByKey()

答案:

1=>C

 

北京市昌平区回龙观镇南店村综合商业楼2楼226室

©2014-2023 百战卓越(北京)科技有限公司 All Rights Reserved.

京ICP备14032124号-2