使用Flink消费Kafka中ChangeRecord主题的数据,统计每三分钟各设备状态为“预警”且未处理的数据总数。将结果存入MySQL的shtd_industry.threemin_warning_state_agg表(追加写入),表结构如下,同时备份到Hbase一份,表结构同MySQL表的。请在将任务启动命令截图,启动且数据进入后按照设备id倒序排序查询threemin_warning_state_agg表进行截图,第一次截图后等待三分钟再次查询并截图,将结果截图粘贴至对应报告中。
连接kafka
val kafkaSource=KafkaSource.builder()
.setTopics("ChangeRecord")
.setBootstrapServers("bigdata1:9092")
.setValueOnlyDeserializer(new SimpleStringSchema())
.setStartingOffsets(OffsetsInitializer.earliest())
.build()
设置flink流处理环境
val env:StreamExecutionEnvironment=StreamExecutionEnvironment.getExecutionEnvironment
env.setParallelism(1)
从kafka源创建数据流
val dataStream = env.fromSource(kafkaSource, WatermarkStrategy.noWatermarks(), "03")
- formSource : 从外部数据源创建一个数据流
- kafkaSource : kafka地址及配置
- WatermarkStrategy.noWatermarks() : 不使用水印,用处理时间来处理数据
- 03 : 船体给fromSource方法的第二个参数,表示消费组ID
指定kafka数据 并显示
val transsformDataStream=dataStream
.map(line => {
val data = line.split(",")
(data(1).toInt, da

文章描述了如何使用ApacheFlink处理Kafka的ChangeRecord主题数据,每三分钟统计设备状态为预警且未处理的数据,并将结果追加写入MySQL表shtd_industry.threemin_warning_state_agg,同时备份到HBase。文中包含了Flink流处理设置、Kafka源创建、过滤、聚合操作以及数据库连接和数据写入的详细步骤。
最低0.47元/天 解锁文章
641

被折叠的 条评论
为什么被折叠?



