5.4.1 基础数据类型
Flink支持所有的Java和Scala基础数据类型,Int, Double, Long, String, …
DataStream<Integer> numberStream = env.fromElements(1, 2, 3, 4); numberStream.map(data -> data * 2);
5.4.2 Java和Scala元组(Tuples)
java不像Scala天生支持元组Tuple类型,java的元组类型由Flink的包提供,默认提供Tuple0~Tuple25
DataStream<Tuple2<String, Integer>> personStream = env.fromElements( new Tuple2("Adam", 17), new Tuple2("Sarah", 23) ); personStream.filter(p -> p.f1 > 18);
5.4.3 Scala样例类(case classes)
case class Person(name:String,age:Int) val numbers: DataStream[(String,Integer)] = env.fromElements( Person("张三",12), Person("李四",23) )
5.4.4 Java简单对象(POJO)
java的POJO这里要求必须提供无参构造函数
-
成员变量要求都是public(或者private但是提供get、set方法)
public class Person{ public String name; public int age; public Person() {} public Person( String name , int age) { this.name = name; this.age = age; } } DataStream Pe rson > persons = env.fromElements( new Person (" Alex", 42), new Person (" Wendy",23) );
5.4.5 其他(Arrays, Lists, Maps, Enums,等等)
Flink对Java和Scala中的一些特殊目的的类型也都是支持的,比如Java的ArrayList,HashMap,Enum等等。