Spark Streaming Transformations

Posted 天之涯0204

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark Streaming Transformations相关的知识,希望对你有一定的参考价值。

map(func):对DStream中的所有的元素进行func转换生成新的DStream

flatMap(func):和map方法类似,先对DStream中的元素进行func运算,然后压平,就是说,如果有一个元素是集合或者数组,那么会被拆成一个一个的元素

filter(func):对DStream中的元素进行func运算,把返回true的元素组成一个新的DStream

repartition(numPartitions): DStream重分区

union(otherStream):合并两个DStream

count(): 返回DStream中RDD中的元素的个数

reduce(func):聚合DStream中RDD的元素

countByValue():统计值出现的次数

reduceByKey(func, [numTasks]):对相同key的value进行func操作

join(otherStream, [numTasks]):相同key进行连接,(K, V) join (K, W) -> (K, (V, W))

cogroup(otherStream, [numTasks]):相同key进行右边的转换 (K, V) cogroup (K, W) (K, Seq[V], Seq[W])

transform(func): 对DStream中的RDD做func操作返回另外一个RDD

wordCounts.transform(rdd =>{
    rdd.filter(_._1 == "hello")
    rdd
})

updateStateByKey(func):根据key更新以前操作的结果,这个方法可以做累计操作,使用该方法要设置检查点目录,updateStateByKey方法参数需要指定类型

sc.setCheckpointDir("D://checkpoints/")
// 设置日志级别 sc.setLogLevel("ERROR") val ds1 = wordCounts.updateStateByKey[Int]((x:Seq[Int], y:Option[Int]) => { val newValue = x.sum + y.getOrElse(0) Some(newValue) })

  

以上是关于Spark Streaming Transformations的主要内容,如果未能解决你的问题,请参考以下文章

流式计算助力实时数据处理spark-streaming入门实战

Spark Streaming与Spark SQL结合操作详解

使用 pyspark 在 Spark Streaming 中的 to.JSON()

SparkStreaming---窗口函数

SparkStreaming---窗口函数

Spark 系列(十六)—— Spark Streaming 整合 Kafka