数据处理逻辑
map
dataStream.fromMqtt("xxxxx","xxxx","xxxxxx","","")
.map(message->message+"~~~~~")
.toPrint()
.start();flatmap
dataStream.fromMqtt("xxxxx","xxxx","xxxxxx","","")
.flatMap(message->((JSONObject)message).getJSONArray("Data"))
.toPrint()
.start();filter
dataStream.fromMqtt("xxxxx","xxxx","xxxxxx","","")
.filter(message->message.contains("xxxxx")) //为true时数据继续向下游输出,否则别拦截
.toPrint()
.start();forEach
selectFields
script
Window
在窗口内进行相关的统计分析,一般会与groupBy连用, window()用来定义窗口的大小, groupBy()用来定义统计分析的主key,可以指定多个
count
avg
min
max
sum
reduce
Join
关键计算,根据条件将俩个流,或者流与物理表进行关联,最终输出结果
join
根据条件将俩个流进行内关联
leftJoin
根据条件将俩个流的数据进行左关联
dimJoin
根据条件将流与维表进行内关联,维表的数据可以来自于文件,也可以来自于数据库
dimLeftJoin
根据条件将流与维表进行左关联,维表的数据可以来自于文件,也可以来自于数据库
Union
将俩个流进行合并
Split
将一个数据流按照标签进行拆分,分为不同的数据流供下游进行分析计算
with
with算子用来指定计算过程中的相关策略,包括checkpoint的存储策略,state的存储策略等
Last updated