Flink(8) TransForm基本的转换算子

基本转换算子

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 inputStream = env.readTextFile("/path/to/hello.txt");

        //1.map 把string 转换成长度输出
        DataStream mapStream = inputStream.map(new MapFunction() {
            public Integer map(String value) throws Exception {
                return value.length();
            }
        });

        //2.flatmap
        DataStream flatMapStream = inputStream.flatMap(new FlatMapFunction() {
            public void flatMap(String value, Collector out) throws Exception {
                String[] fields = value.split(",");
                for (String field : fields) {
                    out.collect(field);
                }
            }
        });

        //3.filter
        DataStream filterStream = inputStream.filter(new FilterFunction() {
            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();

    }

}

你可能感兴趣的:(Flink(8) TransForm基本的转换算子)