当前位置:   article > 正文

Flink程序入门 ( java API )_flink java教程

flink java教程

Flink程序其实就是对数据流DataStream 进行各种转换

简单来说Flink 由以下五个步骤构成:

1 、执行环境 

2 、数据源(source)

3 、数据转换操作(Transformation)

4 、数据输出(sink)

5 、触发程序执行

 

下面通过代码进行演示

先创建一个Emp员工类:

  1. package com.flink.wc;
  2. public class Emp {
  3. public String name; // 名字
  4. public int age; // 年龄
  5. public int sal; // 工资
  6. public Emp(){
  7. }
  8. public Emp(String name, int age, int sal) {
  9. this.name = name;
  10. this.age = age;
  11. this.sal = sal;
  12. }
  13. @Override
  14. public String toString() {
  15. return "Emp{" +
  16. "name='" + name + '\'' +
  17. ", age=" + age +
  18. ", sal=" + sal +
  19. '}';
  20. }
  21. }

一段简单的Flink程序,实现对Emp类的实例 中sal属性进行加工

  1. package com.flink.wc;
  2. import org.apache.flink.streaming.api.datastream.DataStream;
  3. import org.apache.flink.streaming.api.datastream.DataStreamSink;
  4. import org.apache.flink.streaming.api.datastream.DataStreamSource;
  5. import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
  6. public class TransTest_lambda {
  7. public static void main(String[] args) throws Exception {
  8. // step1 数据流执行环境设置
  9. StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
  10. env.setParallelism(1); // 设置并行度
  11. // step2 源算子 负责读取数据
  12. DataStreamSource<Emp> streamSource = env.fromElements(
  13. new Emp("apple", 27, 3000),
  14. new Emp("banana", 30, 4000)
  15. );
  16. // step3 Transformation转换算子 对数据流进行加工
  17. DataStream<Integer> streaml = streamSource.map(x -> x.sal + 300);
  18. // step4 sink下沉算子 负责数据输出
  19. DataStreamSink<Integer> streamSink = streaml.print();
  20. // step5 执行指令 触发程序执行
  21. env.execute();
  22. }
  23. }

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号