1.将数输出到文件
package com.gqy.test
import org.apache.flink.api.common.serialization.SimpleStringEncoder
import org.apache.flink.core.fs.Path
import org.apache.flink.streaming.api.functions.sink.filesystem.StreamingFileSink
import org.apache.flink.streaming.api.scala._
/**
* @author shkstart
* @create 2021-08-05 14:15
*/
object ReduceTest {
def main(args: Array[String]): Unit = {
//创建环境
val env = StreamExecutionEnvironment.getExecutionEnvironment
env.setParallelism(1)
//读取数据
val path = getClass.getResource("/test").getPath
val inputSream = env.readTextFile(path)
inputSream.addSink(
StreamingFileSink.forRowFormat(
new Path("E:\\daima\\project\\UserBehaviorAnalysis\\OrderPayDetect\\src\\main\\resources\\output"),
new SimpleStringEncoder[String]()
).build()
)
env.execute()
}
}
结果:
2.将数据写道kafka中
依赖:这里的依赖要注意自己版本
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-kafka-0.11_2.12</artifactId>
<version>1.10.1</version>
</dependency>
代码:
package com.gqy.test
import org.apache.flink.api.common.serialization.SimpleStringSchema
import org.apache.flink.streaming.api.scala._
import org.apache.flink.streaming.connectors.kafka.FlinkKafkaProducer
/**
* @author shkstart
* @create 2021-08-05 14:15
*/
object ReduceTest {
def main(args: Array[String]): Unit = {
//创建环境
val env = StreamExecutionEnvironment.getExecutionEnvironment
env.setParallelism(1)
//读取数据
val path = getClass.getResource("/test").getPath
val inputSream = env.readTextFile(path)
inputSream.addSink(
new FlinkKafkaProducer[String]("hadoop101:9092","sinktest",new SimpleStringSchema())
)
env.execute()
}
}
结果: