カフカ(両方)にFLINK出力

一つの方法:カフカへのファイル出力を読みます   

   1.コード

輸入org.apache.flink.api.common.serialization.SimpleStringSchema 
輸入org.apache.flink.streaming.api.scala.StreamExecutionEnvironment
輸入org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer011

//温度传感器读取样例类
ケースクラスSensorReading(ID:文字列、タイムスタンプ:ロング、温度:ダブル)

オブジェクトKafkaSinkTest {
DEFメイン(引数:配列[文字列]):単位= {
ヴァルENV = StreamExecutionEnvironment.getExecutionEnvironment
env.setParallelism(1)

輸入org.apache .flink.api.scala._
ヴァルのinputStream = env.readTextFile( "sensor.txt")
ヴァルデータストリーム= inputStream.map(X => {
ヴァルARR = x.split( "")
SensorReading(ARR(0).trim、 ARR(1).trim.toLong、ARR(2).trim.toDouble).toString // 容易出力のシーケンスに変換された文字列
})

//シンク
dataStream.addSink(新しい新しいFlinkKafkaProducer011 [文字列( "ローカルホスト:9092"、 "sinkTest"、新たな新SimpleStringSchema()))
dataStream.print()

env.execute( "シンクカフカテスト")

}
}

2.開始飼育係:参照HTTPS://www.cnblogs。 COM / wddqy / P- / 12156527.html
3.カフカ開始:参照https://www.cnblogs.com/wddqy/p/12156527.html
4.カフカの消費者の観測を作成します

第二の方法:カフカへのカフカ   

   1.コード

インポートjava.util.Propertiesは
org.apache.flink.api.common.serialization.SimpleStringSchemaインポートする
インポートorg.apache.flink.streaming.api.scala.StreamExecutionEnvironmentの
インポートorg.apache.flink.streaming.connectors.kafkaを{FlinkKafkaConsumer011をFlinkKafkaProducer011}

//温度传感器读取样例类
ケースクラスSensorReading(ID:文字列、タイムスタンプ:ロング、温度:ダブル)

オブジェクトKafkaSinkTest1 {
DEFメイン(引数:配列[文字列]):単位= {
ヴァルENV = StreamExecutionEnvironment.getExecutionEnvironment
env.setParallelism(1)

輸入org.apache.flink.api.scala._
//从カフカ到カフカ
のvalプロパティ=新しいプロパティ()
properties.setProperty( "bootstrap.servers"、 "localhostを:9092")
properties.setProperty( "group.id"、 "消費者グループ")
properties.setProperty( "key.deserializer"、 "org.apache.kafka.common.serialization.StringDeserializer")
properties.setProperty( "value.deserializer"、 "org.apache.kafka.common.serialization.StringDeserializer")
properties.setProperty( "auto.offset.reset"、 "最新")

のvalのinputStream = env.addSource(新しいFlinkKafkaConsumer011 [文字列]( "センサー"、新SimpleStringSchema( )、プロパティ))
ヴァルデータストリーム= inputStream.map(X => {
ヴァルARR = x.split( "")
SensorReading(ARR(0).trim、ARR(1).trim.toLong、ARR(2)。 trim.toDouble).toString //转成ストリング方便序列化输出
})

//シンク
dataStream.addSink(新しいFlinkKafkaProducer011 [文字列]( "ローカルホスト:9092"、 "sinkTest"、新SimpleStringSchema()))
dataStream.print()

env.execute( "カフカシンクテスト")

}
}
2. [スタート飼育係:リファレンスhttps://www.cnblogs.com/wddqy/p/12156527.html
3.スタートカフカ:リファレンスhttps://www.cnblogs.com/wddqy/p/12156527.html
4.カフカを作成します。生産者と消費者、コードを実行し、観測結果

おすすめ

転載: www.cnblogs.com/wddqy/p/12172801.html