Flink_输入数据集 Data Sources


Data Sources 是什么呢?就字面意思其实就可以知道:数据来源。 Flink 做为一款流式计算框架,它可用来做批处理,即处理静态的数据集、历史的数据 集;也可以用来做流处理,即实时的处理些实时数据流,实时的产生数据流结果,只要数据 源源不断 的过来,Flink 就能够一直计算下去,这个 Data Sources 就是数据的来源地。 flink 在批处理中常见的 source 主要有两大类。

  1. 基于本地集合的 source(Collection-based-source)
  2. 基于文件的 source(File-based-source)

1.基于本地集合的 source(Collection-based-source)

在 flink 最常见的创建 DataSet 方式有三种。

  1. 使用 env.fromElements(),这种方式也支持 Tuple,自定义对象等复合形式。
  2. 使用 env.fromCollection(),这种方式支持多种 Collection 的具体类型
  3. 使用 env.generateSequence()方法创建基于 Sequence 的 DataSet
package com.czxy.flink.batch.source.collection

import org.apache.flink.api.scala.ExecutionEnvironment

//使用 env.fromElements(), 这种方式也支持 Tuple, 自定义对象等复合形式
object BatchFromElementsDemo {
   
  def main(args: Array[String]): Unit = {
   
    //1.创建执行环境
    val env: ExecutionEnvironment = ExecutionEnvironment.getExecutionEnvironment
    //2.使用 env.fromElements构建数据集
    import org.apache.flink.api.scala._
    val sourceElement: DataSet[String] = env.fromElements("hadoop hadoop hive flink")
    //3.输出测试
    sourceElement.print()
  }
}

常见的创建DataSet方法

import org.apache.flink.api.scala.ExecutionEnvironment 
import scala.collection.mutable
import scala.collection.mutable.{
   ArrayBuffer, ListBuffer}

/** 
* 读取集合中的批次数据 
*/
object BatchFromCollection {
   
def main(args: Array[String]): Unit = {
   

//获取flink执行环境
val env = ExecutionEnvironment.getExecutionEnvironment
//导入隐式转换
import org.apache.flink.api.scala._

//0.用element创建DataSet(fromElements)
val ds0: DataSet[String] = env.fromElements("spark", "flink")
ds0.print()

 //1.用Tuple创建DataSet(fromElements)
val ds1:<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值