真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Flink的Split怎么使用

這篇文章主要講解了“Flink的Split怎么使用”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Flink的Split怎么使用”吧!

成都創(chuàng)新互聯(lián)長期為成百上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為漢臺(tái)企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)漢臺(tái)網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

Split算子:將數(shù)據(jù)流切分成多個(gè)數(shù)據(jù)流(已過時(shí),并且不能二次切分,不建議使用)

示例環(huán)境

java.version: 1.8.x
flink.version: 1.11.1

示例數(shù)據(jù)源 (項(xiàng)目碼云下載)

Flink 系例 之 搭建開發(fā)環(huán)境與數(shù)據(jù)

Split.java

package com.flink.examples.functions;

import com.flink.examples.DataSource;
import org.apache.flink.api.common.functions.MapFunction;
import org.apache.flink.api.java.tuple.Tuple3;
import org.apache.flink.api.java.tuple.Tuple4;
import org.apache.flink.streaming.api.collector.selector.OutputSelector;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.datastream.SplitStream;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;

import java.util.ArrayList;
import java.util.List;

/**
 * @Description Split算子:將數(shù)據(jù)流切分成多個(gè)數(shù)據(jù)流(已過時(shí),并且不能二次切分,不建議使用)
 */
public class Split {

    /**
     * 遍歷集合,將數(shù)據(jù)流切分成多個(gè)流并打印
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
        env.setParallelism(1);
        List> tuple3List = DataSource.getTuple3ToList();
        //Datastream
        DataStream> dataStream = env.fromCollection(tuple3List);
        //按性別進(jìn)行拆分
        //flink.1.11.1顯示SplitStream類過時(shí),推薦用keyBy的方式進(jìn)行窗口處理或SideOutput側(cè)輸出流處理;注意,使用split切分后的流,不可二次切分,否則會(huì)拋異常
        SplitStream> split = dataStream.split(new OutputSelector>() {
            @Override
            public Iterable select(Tuple3 value) {
                List output = new ArrayList();
                if (value.f1.equals("man")) {
                    output.add("man");
                } else {
                    output.add("girl");
                }
                return output;
            }
        });

        //查詢指定名稱的數(shù)據(jù)流
        DataStream> dataStream1 = split.select("man")
                .map(new MapFunction, Tuple4>() {
                    @Override
                    public Tuple4 map(Tuple3 t3) throws Exception {
                        return Tuple4.of(t3.f0, t3.f1, t3.f2, "男");
                    }
                });

        DataStream> dataStream2 = split.select("girl")
                .map(new MapFunction, Tuple4>() {
                    @Override
                    public Tuple4 map(Tuple3 t3) throws Exception {
                        return Tuple4.of(t3.f0, t3.f1, t3.f2, "女");
                    }
                });
        //打印:男
        dataStream1.print();
        //打印:女
        dataStream2.print();

        env.execute("flink Split job");
    }
}

 打印結(jié)果

(張三,man,20,男)
(李四,girl,24,女)
(王五,man,29,男)
(劉六,girl,32,女)
(伍七,girl,18,女)
(吳八,man,30,男)

感謝各位的閱讀,以上就是“Flink的Split怎么使用”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Flink的Split怎么使用這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!


文章題目:Flink的Split怎么使用
鏈接URL:http://weahome.cn/article/jcpcsg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部