美文网首页
Flink(8) TransForm基本的转换算子

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

作者: hk_faith | 来源:发表于2021-03-14 15:27 被阅读0次

    基本转换算子

    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();
    
        }
    
    }
    

    相关文章

      网友评论

          本文标题:Flink(8) TransForm基本的转换算子

          本文链接:https://www.haomeiwen.com/subject/knvqcltx.html