基本轉(zhuǎn)換算子
1.map
map 有映射的意思是把一個(gè)數(shù)據(jù)轉(zhuǎn)換成另一個(gè)的意思。(把小寫(xiě)轉(zhuǎn)大些等)
2.flatMap
flat的意思是扁平的平坦的意思。和map 結(jié)合是把數(shù)據(jù)平坦展示,把一個(gè)數(shù)據(jù)拆成n個(gè)數(shù)據(jù)。(把一段文字按照空格拆成n個(gè)單詞)
3.Filter
filter 按照某中規(guī)則過(guò)濾
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 轉(zhuǎn)換成長(zhǎng)度輸出
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();
}
}