1、创建出 Java Bean
package Com.ZQQQ.pojo;
import lombok.*;
/**
* @Author hzq
* @Description 传感器温度读数得数据类型
* @Date 2021/12/16
* @Param
* @return
**/
@Getter
@Setter
@Data
@ToString
public class SensorReading {
private String id;
private Long temstamp;
private Double temperature;
public SensorReading() {
}
public SensorReading(String id, Long temstamp, Double temperature) {
this.id = id;
this.temstamp = temstamp;
this.temperature = temperature;
}
}
2、从集合读取数据,
package Com.ZQQQ.Flinkwork;
import Com.ZQQQ.pojo.SensorReading;
import org.apache.flink.api.java.ExecutionEnvironment;
import org.apache.flink.api.java.operators.DataSource;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import java.util.Arrays;
/**
* @Author hzq
* @Description 从集合读取数据。使用JavaBean的方式
* @Date 2021/12/16
* @Param
* @return
**/
public class SourcesCollection {
public static void main(String[] args) {
StreamExecutionEnvironment environment = StreamExecutionEnvironment.getExecutionEnvironment();
// 设置并行度,默认为 1
environment.setParallelism(1);
DataStream<SensorReading> dataStream = environment.fromCollection(Arrays.asList(
new SensorReading("sensor_1", 1547718199L, 35.8),
new SensorReading("sensor_6", 1547718201L, 15.4),
new SensorReading("sensor_7", 1547718202L, 6.7),
new SensorReading("sensor_10", 1547718205L, 38.1)
));
// 创建包含给定元素的新数据流。 元素必须都是相同的类型,例如,所有的String或Integer 。
DataStream<Integer> integerDataStream = environment.fromElements(1, 2, 34, 56, 7, 89);
//打印输出并设置参数
try {
dataStream.print("data");
integerDataStream.print("int");
} catch (Exception e) {
e.printStackTrace();
}
//启动执行流任务
try {
environment.execute();
} catch (Exception e) {
e.printStackTrace();
}
}
}
总结:
集合数据是从resources file 文件夹中取到的。