|
|
|
@ -18,46 +18,35 @@ |
|
|
|
|
|
|
|
package com.qniao.iot.rc; |
|
|
|
|
|
|
|
import org.apache.flink.api.common.functions.FilterFunction; |
|
|
|
import org.apache.flink.api.common.eventtime.WatermarkStrategy; |
|
|
|
import org.apache.flink.connector.kafka.source.KafkaSource; |
|
|
|
import org.apache.flink.connector.kafka.source.enumerator.initializer.OffsetsInitializer; |
|
|
|
import org.apache.flink.streaming.api.datastream.DataStream; |
|
|
|
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; |
|
|
|
import org.slf4j.Logger; |
|
|
|
import org.slf4j.LoggerFactory; |
|
|
|
import org.apache.flink.streaming.api.functions.sink.PrintSinkFunction; |
|
|
|
|
|
|
|
/** |
|
|
|
* 根云数据格式化作业 |
|
|
|
*/ |
|
|
|
public class RootCloudIotDataFormatterJob { |
|
|
|
private static final Logger LOGGER = LoggerFactory.getLogger(RootCloudIotDataFormatterJob.class); |
|
|
|
//private static final Logger LOGGER = LoggerFactory.getLogger(RootCloudIotDataFormatterJob.class); |
|
|
|
|
|
|
|
public static void main(String[] args) throws Exception { |
|
|
|
// // 创建执行环境 |
|
|
|
// final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); |
|
|
|
// |
|
|
|
// KafkaSource<KafkaMessage> source = KafkaSource.<KafkaMessage>builder() |
|
|
|
// .setBootstrapServers("localhost:9092") |
|
|
|
// .setTopics("test_topic") |
|
|
|
// .setGroupId("flink-kafka-demo") |
|
|
|
// .setStartingOffsets(OffsetsInitializer.earliest()) |
|
|
|
// .setValueOnlyDeserializer(new KafkaMessageSchema()) |
|
|
|
// .build(); |
|
|
|
// |
|
|
|
// DataStream<KafkaMessage> dc = env.fromSource(source, WatermarkStrategy.noWatermarks(), "My Kafka Source"); |
|
|
|
// //env.fromSource(source, WatermarkStrategy.noWatermarks(), "Kafka Source"); |
|
|
|
// |
|
|
|
// env.execute("Kafka Job"); |
|
|
|
|
|
|
|
// final StreamExecutionEnvironment env = |
|
|
|
// StreamExecutionEnvironment.getExecutionEnvironment(); |
|
|
|
// DataStream<Person> flintstones = env.fromElements( |
|
|
|
// new Person("Fred", 35), |
|
|
|
// new Person("Wilma", 35), |
|
|
|
// new Person("Pebbles", 2)); |
|
|
|
// DataStream<Person> adults = flintstones.filter((FilterFunction<Person>) person -> person.getAge() >= 18); |
|
|
|
// LOGGER.info("===================>>> before print"); |
|
|
|
// adults.print(); |
|
|
|
// LOGGER.info("===================>>> before execute"); |
|
|
|
// env.execute("Peron Job"); |
|
|
|
// LOGGER.info("===================>>> after print"); |
|
|
|
// 创建执行环境 |
|
|
|
final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); |
|
|
|
|
|
|
|
KafkaSource<KafkaMessage> source = KafkaSource.<KafkaMessage>builder() |
|
|
|
.setBootstrapServers("localhost:9092") |
|
|
|
.setTopics("test_topic") |
|
|
|
.setGroupId("flink-kafka-demo") |
|
|
|
.setStartingOffsets(OffsetsInitializer.latest()) |
|
|
|
.setValueOnlyDeserializer(new KafkaMessageSchema()) |
|
|
|
.build(); |
|
|
|
|
|
|
|
DataStream<KafkaMessage> ds = env.fromSource(source, WatermarkStrategy.noWatermarks(), "My Kafka Source"); |
|
|
|
|
|
|
|
ds.addSink(new PrintSinkFunction<>()); |
|
|
|
|
|
|
|
env.execute("Kafka Job"); |
|
|
|
} |
|
|
|
} |