Flink(8) TransForm基本的轉(zhuǎn)換算子

基本轉(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();

    }

}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容