目的:读取集合中的数据
环境:jdk8 工具:idea2019.3

创建maven项目

引入jar包

  1. <dependency>
  2. <groupId>org.apache.flink</groupId>
  3. <artifactId>flink-java</artifactId>
  4. <version>1.10.1</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>org.apache.flink</groupId>
  8. <artifactId>flink-streaming-java_2.12</artifactId>
  9. <version>1.10.1</version>
  10. </dependency>

代码演示

DataStream用于实时数据统计

  1. //创建流处理执行环境
  2. StreamExecutionEnvironment env=StreamExecutionEnvironment.getExecutionEnvironment();
  3. List<Test> testData = Arrays.asList(
  4. new Test(1, "测试1", "测试1"),
  5. new Test(2, "测试2", "测试2"),
  6. new Test(3, "测试3", "测试3"));
  7. DataStream<Test> dataStream = env.fromCollection(testData);
  8. dataStream.print();
  9. env.execute(); //如果要保持顺序可以设置全局并行度为1

从集合中读取数据.rar

Test类

  1. package com.hello.flink;
  2. public class Test {
  3. private Integer id;
  4. private String name;
  5. private String content;
  6. public Integer getId() {
  7. return id;
  8. }
  9. public void setId(Integer id) {
  10. this.id = id;
  11. }
  12. public String getName() {
  13. return name;
  14. }
  15. public void setName(String name) {
  16. this.name = name;
  17. }
  18. public String getContent() {
  19. return content;
  20. }
  21. public void setContent(String content) {
  22. this.content = content;
  23. }
  24. public Test(Integer id, String name, String content) {
  25. this.id = id;
  26. this.name = name;
  27. this.content = content;
  28. }
  29. }

结果

>前代表线程

  1. SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
  2. SLF4J: Defaulting to no-operation (NOP) logger implementation
  3. SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
  4. 4> Test{id=1, name='测试1', content='测试1'}
  5. 2> Test{id=3, name='测试3', content='测试3'}
  6. 1> Test{id=2, name='测试2', content='测试2'}