Flink加载数据源的五种方式(scala版)

本文详细介绍了使用Scala进行Flink数据源加载的五种方式,包括从集合、文件、Kafka、监控窗口及自定义数据源的加载,并提供了相应的控制台输出示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1、从集合中加载数据源

2、从文件中读取数据

3、从 Kafka 中读取数据

4、监控窗口加载数据:

5、自定义数据源


1、从集合中加载数据源

使用 fromCollection() 方法将数据放入list中作为Flink的数据源

        方式一:

def main(args: Array[String]): Unit = {
    // 创建flink环境
    val env: StreamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment

    // 设置并行度
    env.setParallelism(2)

    var dataList = List(
      1,2,3,4,5,21,12,3445,65
    )


    // 加载数据源1  source  方式一
    val stream1: DataStream[Int] = env.fromCollection(dataList)

    // 控制台输出sink
    stream1.print()

    env.execute("source stu")
  }

}

控制台输出:

         方式二:

        创建样例类,使用 fromCollection() 方法将数据放入Seq序列中作为Flink的数据源

case class SensorReading(id:String,timestamp:Long,temperature:Double)

object SourceTest {
  def main(args: Array[String]): Unit = {
    // 创建flink环境
    val env: StreamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment

    // 设置并行度
    env.setParallelism(2)

 
    var dataList2 = List(
      SensorReading("sensor_1",1665103420,38.1),
      SensorReading("sensor_4",1665103420,31.2),
      SensorReading("sensor_7",1665103420,15.4),
      SensorReading("sensor_9",1665103420,25.8)

    )



    // 加载数据源1
    val stream1: DataStream[SensorReading] = env.fromCollection(dataList2)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值