|
|
|
@ -27,14 +27,17 @@ import com.qniao.iot.rc.event.RootCloudIotDataReceiptedEventDeserializationSchem |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.apache.flink.api.common.eventtime.WatermarkStrategy; |
|
|
|
import org.apache.flink.api.common.functions.MapFunction; |
|
|
|
import org.apache.flink.api.common.serialization.SimpleStringEncoder; |
|
|
|
import org.apache.flink.connector.base.DeliveryGuarantee; |
|
|
|
import org.apache.flink.connector.kafka.sink.KafkaRecordSerializationSchema; |
|
|
|
import org.apache.flink.connector.kafka.sink.KafkaSink; |
|
|
|
import org.apache.flink.connector.kafka.source.KafkaSource; |
|
|
|
import org.apache.flink.connector.kafka.source.enumerator.initializer.OffsetsInitializer; |
|
|
|
import org.apache.flink.core.fs.Path; |
|
|
|
import org.apache.flink.streaming.api.CheckpointingMode; |
|
|
|
import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator; |
|
|
|
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; |
|
|
|
import org.apache.flink.streaming.api.functions.sink.filesystem.StreamingFileSink; |
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.util.Objects; |
|
|
|
@ -86,6 +89,14 @@ public class RootCloudIotDataFormatterJob { |
|
|
|
.build() |
|
|
|
).name("MachineIotDataReceivedEvent Sink"); |
|
|
|
|
|
|
|
// 发送到OSS存储 |
|
|
|
String outputPath = "oss://qn-flink-test/root-cloud-model-hw-reported-data"; |
|
|
|
StreamingFileSink<MachineIotDataReceivedEvent> sink = StreamingFileSink.forRowFormat( |
|
|
|
new Path(outputPath), |
|
|
|
new SimpleStringEncoder<MachineIotDataReceivedEvent>("UTF-8") |
|
|
|
).build(); |
|
|
|
transformDs.addSink(sink); |
|
|
|
|
|
|
|
env.execute("root cloud iot data formatter job"); |
|
|
|
} |
|
|
|
|
|
|
|
|