基本转换算子
1.map
map 有映射的意思是把一个数据转换成另一个的意思。(把小写转大些等)
2.flatMap
flat的意思是扁平的平坦的意思。和map 结合是把数据平坦展示,把一个数据拆成n个数据。(把一段文字按照空格拆成n个单词)
3.Filter
filter 按照某中规则过滤
public class TransformTest1_Base {
public static void main(String[] args) throws Exception {
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
DataStreamSource<String> inputStream = env.readTextFile("/path/to/hello.txt");
//1.map 把string 转换成长度输出
DataStream<Integer> mapStream = inputStream.map(new MapFunction<String, Integer>() {
public Integer map(String value) throws Exception {
return value.length();
}
});
//2.flatmap
DataStream<String> flatMapStream = inputStream.flatMap(new FlatMapFunction<String, String>() {
public void flatMap(String value, Collector<String> out) throws Exception {
String[] fields = value.split(",");
for (String field : fields) {
out.collect(field);
}
}
});
//3.filter
DataStream<String> filterStream = inputStream.filter(new FilterFunction<String>() {
public boolean filter(String value) throws Exception {
return value.startsWith("sensor_1");
}
});
//print
mapStream.print("map");
flatMapStream.print("flatMap");
filterStream.print("filter");
//exec
env.execute();
}
}
网友评论