一.flink读取数据的几种方式
1.1读取本地文件
// 创建批处理的执行环境
val env: ExecutionEnvironment = ExecutionEnvironment.getExecutionEnvironment
// 从文件读取数据
val inputDataSet: DataSet[String] = env.readTextFile("input/test.txt")
1.2读取socket流数据
// 创建批处理的执行环境
val env: StreamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment
// 从端口读取数据
val textDS: DataStream[String] = env.socketTextStream(host, port)
1.3读取集合的数据
val env: StreamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment
val stream: DataStream[SensorReading] = env.fromCollection(List(
SensorReading("sen_1", 15151515, 35.15616165165),
SensorReading("sen_1", 15151515, 35.15616165165),
SensorReading("sen_2", 15151515, 35.15616165165),
SensorReading("sen_2", 15151515, 35.15616165165),
SensorReading("sen_3", 15151515, 35.15616165165),
SensorReading("sen_4", 15151515, 35.15616165165)
))
case class SensorReading(id:String,timeStamp:Long,temperature:Double);
1.4自定义source读取数据
object Fink_Collection_ScourgeTest {
val env: StreamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment
def main(args: Array[String]): Unit = {
sourceMe()
}
def sourceMe(): Unit ={
val strean: DataStream[SensorReading] = env.addSource(new SensorSource)
strean.print().setParallelism(1)
env.execute("sourceMe")
}
}
case class SensorReading(id:String,timeStamp:Long,temperature:Double);
class SensorSource extends S

本文介绍了Apache Flink中数据读取的四种方式,包括本地文件、socket流、集合数据及自定义Source。接着详细讲解了Flink的算子使用,如reduce、splitStream、connect、不同类型的窗口(TimeWindow、CountWindow、EventTime)以及ProcessFunction的运用,帮助理解Flink流处理中的数据操作。
最低0.47元/天 解锁文章
453

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



