美文网首页实时计算框架Flink
Flink10:Flink支持的数据类型

Flink10:Flink支持的数据类型

作者: 勇于自信 | 来源:发表于2020-05-04 20:10 被阅读0次

Flink流应用程序处理的是以数据对象表示的事件流。所以在Flink内部,我们需要能够处理这些对象。它们需要被序列化和反序列化,以便通过网络传送它们;或者从状态后端、检查点和保存点读取它们。为了有效地做到这一点,Flink需要明确知道应用程序所处理的数据类型。Flink使用类型信息的概念来表示数据类型,并为每个数据类型生成特定的序列化器、反序列化器和比较器。
Flink还具有一个类型提取系统,该系统分析函数的输入和返回类型,以自动获取类型信息,从而获得序列化器和反序列化器。但是,在某些情况下,例如lambda函数或泛型类型,需要显式地提供类型信息,才能使应用程序正常工作或提高其性能。
Flink支持Java和Scala中所有常见数据类型。使用最广泛的类型有以下几种。

1.基础数据类型

Flink支持所有的Java和Scala基础数据类型,Int, Double, Long, String, …​

val numbers: DataStream[Long] = env.fromElements(1L, 2L, 3L, 4L)
numbers.map( n => n + 1 )
2.Java和Scala元组(Tuples)
val persons: DataStream[(String, Integer)] = env.fromElements( 
("Adam", 17), 
("Sarah", 23) ) 
persons.filter(p => p._2 > 18)
3.Scala样例类(case classes)
case class Person(name: String, age: Int) 
val persons: DataStream[Person] = env.fromElements(
Person("Adam", 17), 
Person("Sarah", 23) )
persons.filter(p => p.age > 18)
4.Java简单对象(POJOs)
public class Person {
public String name;
public int age;
  public Person() {}
  public Person(String name, int age) { 
this.name = name;      
this.age = age;  
}
}
DataStream<Person> persons = env.fromElements(   
new Person("Alex", 42),   
new Person("Wendy", 23));
5.其它(Arrays, Lists, Maps, Enums, 等等)

Flink对Java和Scala中的一些特殊目的的类型也都是支持的,比如Java的ArrayList,HashMap,Enum等等。

相关文章

  • Flink10:Flink支持的数据类型

    Flink流应用程序处理的是以数据对象表示的事件流。所以在Flink内部,我们需要能够处理这些对象。它们需要被序列...

  • Flink基础系列18-支持的数据类型

    一.Flink支持的数据类型 Flink流应用程序处理的是以数据对象表示的事件流。所以在Flink内部,我们需要能...

  • 03-flink编程模型

    03-flink编程模型 Flink编程接口 根据数据类型分为两大类: 支持批计算的接口DataSet API 支...

  • Apache Flink——Flink 支持的数据类型

    一、Flink 的类型系统 Flink 作为一个分布式处理框架,处理的是以数据对象作为元素的流。如果用水流来类比,...

  • Flink支持的数据类型

    Flink流应用程序处理的是以数据对象表示的事件流。所以在Flink内部,我们需要能够处理这些对象。它们需要被序列...

  • Flink 流流关联( Interval Join)总结

    Flink对流流JOIN的支持 Flink对于join的支持有多种支持,可参考 Flink Join类型, 本文主...

  • Flink(10) 支持的数据类型

    简介 Flink 流应用程序处理的是以数据对象表示的事件流,所有我们需要能够处理这些对象,他们需要被序列化和反序列...

  • flink学习笔记-支持的数据类型

    说明:本文为《Flink大数据项目实战》学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推...

  • Flink 概述

    Flink 相关概念 Flink 支持哪些流式特性 exactly-once 语义。 支持基于事件发生时间的窗口计...

  • 分布式计算框架Flink

    Flink底层架构 Flink支持的sink 三方中间件 Flink的安装 下载 Hadoop 以及 scala ...

网友评论

    本文标题:Flink10:Flink支持的数据类型

    本文链接:https://www.haomeiwen.com/subject/gkayghtx.html