国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Flink多流處理之connect拼接流

這篇具有很好參考價值的文章主要介紹了Flink多流處理之connect拼接流。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Flink中的拼接流connect的使用其實非常簡單,就是leftStream.connect(rightStream)的方式,但是有一點我們需要清楚,使用connect后并不是將兩個流給串聯(lián)起來了,而是將左流和右流建立一個聯(lián)系,作為一個大的流,并且這個大的流可以使用相同的邏輯處理leftStreamrightStream,也可以使用不同的邏輯處理leftStreamrightStream.
如下圖:
Flink多流處理之connect拼接流,flink,大數(shù)據(jù)

下面的演示代碼也可以通過這個圖結(jié)合來看,其實connect算子最主要的作用就是共享狀態(tài),如常用的廣播狀態(tài).文章來源地址http://www.zghlxwxcb.cn/news/detail-636150.html

  • 代碼
import org.apache.flink.streaming.api.datastream.ConnectedStreams;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.streaming.api.functions.co.CoMapFunction;

import java.util.Arrays;

/**
 * @Author: J
 * @Version: 1.0
 * @CreateTime: 2023/8/7
 * @Description: 多流操作-流連接
 **/
public class FlinkConnect {
    public static void main(String[] args) throws Exception {
        // 構(gòu)建流環(huán)境
        StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
        // 設(shè)置并行度
        env.setParallelism(3);
        // 添加數(shù)據(jù)源1
        DataStreamSource<String> sourceStream1 = env.fromCollection(Arrays.asList("a", "b", "c", "d"));
        // 添加數(shù)據(jù)源2
        DataStreamSource<Double> sourceStream2 = env.fromCollection(Arrays.asList(22.2, 11.0, 6.0, 98.0, 100.0));

        // 拼接數(shù)據(jù)流
        ConnectedStreams<String, Double> connectedStream = sourceStream1.connect(sourceStream2);

        // 這里使用map算子作為演示
        SingleOutputStreamOperator<String> resultStream = connectedStream.map(new CoMapFunction<String, Double, String>() {
            /**
             * map1作為左流
             **/
            @Override
            public String map1(String value) throws Exception {
                return "字符串: " + value;
            }

            /**
             * map2作為右流
             **/
            @Override
            public String map2(Double value) throws Exception {
                return "數(shù)字: " + (value * 100);
            }
        });

        // 打印結(jié)果
        resultStream.print();

        env.execute("Connect Operator");
    }
}

  • 結(jié)果
3> 字符串: b
1> 數(shù)字: 600.0
2> 字符串: a
3> 數(shù)字: 1100.0
2> 數(shù)字: 2220.0
2> 字符串: d
2> 數(shù)字: 9800.0
3> 數(shù)字: 10000.0
1> 字符串: c

到了這里,關(guān)于Flink多流處理之connect拼接流的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Flink多流處理之Broadcast(廣播變量)

    Flink多流處理之Broadcast(廣播變量)

    寫過Spark批處理的應(yīng)該都知道,有一個廣播變量 broadcast 這樣的一個算子,可以優(yōu)化我們計算的過程,有效的提高效率;同樣在Flink中也有 broadcast ,簡單來說和Spark中的類似,但是有所區(qū)別,首先Spark中的 broadcast 是靜態(tài)的數(shù)據(jù),而Flink中的 broadcast 是動態(tài)的,也就是源源不斷的數(shù)據(jù)流.在Fl

    2024年02月13日
    瀏覽(25)
  • Flink學(xué)習(xí)——處理函數(shù)ProcessFunction及多流轉(zhuǎn)換

    Flink學(xué)習(xí)——處理函數(shù)ProcessFunction及多流轉(zhuǎn)換

    ? ? ? ? 在DataStream的更底層,我們可以不定義任何具體的算子(如map(),filter()等)二只提煉出一個統(tǒng)一的“處理”(process)操作?。它是所有轉(zhuǎn)換算子的概括性的表達(dá)。可以自定義處理邏輯。 ? ? ? ? 所以這一層接口就被叫做“ 處理函數(shù) ”( process function ) ? ? ? ? 處理

    2024年02月14日
    瀏覽(17)
  • Flink (八) --------- 多流轉(zhuǎn)換

    Flink (八) --------- 多流轉(zhuǎn)換

    無論是基本的簡單轉(zhuǎn)換和聚合,還是基于窗口的計算,我們都是針對一條流上的數(shù)據(jù)進(jìn)行處理的。而在實際應(yīng)用中,可能需要將不同來源的數(shù)據(jù)連接合并在一起處理,也有可能需要將一條流拆分開,所以經(jīng)常會有對多條流進(jìn)行處理的場景。本章我們就來討論 Flink 中對多條流進(jìn)

    2023年04月09日
    瀏覽(23)
  • Flink多流轉(zhuǎn)換(1)—— 分流&合流

    Flink多流轉(zhuǎn)換(1)—— 分流&合流

    目錄 分流 代碼示例 使用側(cè)輸出流 合流 聯(lián)合(Union) 連接(Connect) 簡單劃分的話,多流轉(zhuǎn)換可以分為“分流”和“合流”兩大類 目前分流的操作一般是通過側(cè)輸出流(side output)來實現(xiàn),而合流的算子比較豐富,根據(jù)不同的需求可以調(diào)用 union、connect、join 以及 coGroup 等接口

    2024年01月24日
    瀏覽(22)
  • Flink多流轉(zhuǎn)換(2)—— 雙流連結(jié)

    Flink多流轉(zhuǎn)換(2)—— 雙流連結(jié)

    雙流連結(jié)(Join):根據(jù)某個字段的值將數(shù)據(jù)聯(lián)結(jié)起來,“配對”去做處理 可以 定義時間窗口 ,并將兩條流中 共享一個公共鍵 (key)的數(shù)據(jù)放在窗口中進(jìn)行配對處理 首先需要調(diào)用 DataStream 的 .join() 方法來合并兩條流,得到一個 JoinedStreams;接著通過 .where() 和 .equalTo() 方法指

    2024年02月19日
    瀏覽(24)
  • 《Flink學(xué)習(xí)筆記》——第九章 多流轉(zhuǎn)換

    《Flink學(xué)習(xí)筆記》——第九章 多流轉(zhuǎn)換

    無論是基本的簡單轉(zhuǎn)換和聚合,還是基于窗口的計算,我們都是針對一條流上的數(shù)據(jù)進(jìn)行處理的。而在實際應(yīng)用中,可能需要將不同來源的數(shù)據(jù)連接合并在一起處理,也有可能需要將一條流拆分開,所以經(jīng)常會有對多條流進(jìn)行處理的場景 簡單劃分(兩大類): 分流——把一

    2024年02月11日
    瀏覽(33)
  • 基于數(shù)據(jù)湖的多流拼接方案-HUDI概念篇

    基于數(shù)據(jù)湖的多流拼接方案-HUDI概念篇

    目錄 一、為什么需要HUDI? 1. 傳統(tǒng)技術(shù)選型存在哪些問題? 2. Hudi有什么優(yōu)點? 基于 Hudi Payload 機(jī)制的多流拼接方案: 二、HUDI的應(yīng)用場景 1. 什么場景適合使用hudi? 2. 什么場景不適合使用hudi? 三、什么是HUDI?HUDI能做什么? 1. 什么是HUDI? 2. HUDI能做什么(特性)? 四、HU

    2024年02月11日
    瀏覽(24)
  • 大數(shù)據(jù)Flink(五十三):Flink流處理特性、發(fā)展歷史以及Flink的優(yōu)勢

    大數(shù)據(jù)Flink(五十三):Flink流處理特性、發(fā)展歷史以及Flink的優(yōu)勢

    文章目錄 Flink流處理特性、發(fā)展歷史以及Flink的優(yōu)勢 一、Flink流處理特性 二、發(fā)展歷史

    2024年02月14日
    瀏覽(21)
  • Flink:處理大規(guī)模復(fù)雜數(shù)據(jù)集的最佳實踐深入探究Flink的數(shù)據(jù)處理和性能優(yōu)化技術(shù)

    作者:禪與計算機(jī)程序設(shè)計藝術(shù) 隨著互聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)、物聯(lián)網(wǎng)等新型網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,企業(yè)對海量數(shù)據(jù)的處理日益依賴,而大數(shù)據(jù)分析、決策支持、風(fēng)險控制等領(lǐng)域都需要海量的數(shù)據(jù)處理能力。如何高效、快速地處理海量數(shù)據(jù)、提升處理效率、降低成本,是當(dāng)下處理

    2024年02月13日
    瀏覽(27)
  • 大數(shù)據(jù)Flink(六十一):Flink流處理程序流程和項目準(zhǔn)備

    大數(shù)據(jù)Flink(六十一):Flink流處理程序流程和項目準(zhǔn)備

    文章目錄 Flink流處理程序流程和項目準(zhǔn)備 一、Flink流處理程序的一般流程

    2024年02月11日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包