DStream操作分为Transformations(转换)和Output Operations(输出)。转换操作包含特殊原语:updateStateByKey()、transform()及Window相关原语。
无状态转化操作
无状态操作逐批次应用于RDD,键值对操作需导入 StreamingContext._ 。常用操作如下:
map():元素级转换。示例: ds.map(x => x + 1) ,函数签名: f: T => U
flatMap():拆分元素为迭代器。示例: ds.flatMap(_.split("")) ,函数签名: f: T => IterableU
filter():筛选元素。示例: ds.filter(_ != 1) ,函数签名: f: T => Boolean
repartition():调整分区数。示例: ds.repartition(10)
reduceByKey():按键聚合批次内数据。示例: ds.reduceByKey(_ + _) ,函数签名: f: (T, T) => T
groupByKey():按键分组。示例: ds.groupByKey()
Transform操作
允许自定义RDD间转换,每批次触发一次。示例: