中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)站建立數(shù)據(jù)庫(kù)連接時(shí)出錯(cuò)職業(yè)技能培訓(xùn)機(jī)構(gòu)

網(wǎng)站建立數(shù)據(jù)庫(kù)連接時(shí)出錯(cuò),職業(yè)技能培訓(xùn)機(jī)構(gòu),織夢(mèng)資訊門(mén)戶(hù)網(wǎng)站模板,電子系網(wǎng)站建設(shè)方案1.Flink中的KeyBy 在Flink中,KeyBy作為我們常用的一個(gè)聚合類(lèi)型算子,它可以按照相同的Key對(duì)數(shù)據(jù)進(jìn)行重新分區(qū),分區(qū)之后分配到對(duì)應(yīng)的子任務(wù)當(dāng)中去。 源碼解析 keyBy 得到的結(jié)果將不再是 DataStream,而是會(huì)將 DataStream 轉(zhuǎn)換為 Key…

1.Flink中的KeyBy

在Flink中,KeyBy作為我們常用的一個(gè)聚合類(lèi)型算子,它可以按照相同的Key對(duì)數(shù)據(jù)進(jìn)行重新分區(qū),分區(qū)之后分配到對(duì)應(yīng)的子任務(wù)當(dāng)中去。
源碼解析
keyBy 得到的結(jié)果將不再是 DataStream,而是會(huì)將 DataStream 轉(zhuǎn)換為 KeyedStream(鍵控流),KeyedStream 可以認(rèn)為是“分區(qū)流”或者“鍵控流”,它是對(duì) DataStream 按照 key 的一個(gè)邏輯分區(qū)。
所以泛型有兩個(gè)類(lèi)型:除去當(dāng)前流中的元素類(lèi)型外,還需要指定 key 的類(lèi)型。
在這里插入圖片描述
KeyBy是如何實(shí)現(xiàn)分區(qū)的呢

Flink中的KeyBy底層其實(shí)就是通過(guò)Hash實(shí)現(xiàn)的,通過(guò)對(duì)Key的值進(jìn)行Hash,再做一次murmurHash,取模運(yùn)算。
再通過(guò)Job的并行度,就能獲取每個(gè)Key應(yīng)該分配到那個(gè)子任務(wù)中了。

在這里插入圖片描述

2.分組和分區(qū)在Flink中的區(qū)別

分區(qū):分區(qū)(Partitioning)是將數(shù)據(jù)流劃分為多個(gè)子集,這些子集可以在不同的任務(wù)實(shí)例上進(jìn)行處理,以實(shí)現(xiàn)數(shù)據(jù)的并行處理。
數(shù)據(jù)具體去往哪個(gè)分區(qū),是通過(guò)指定的 key 值先進(jìn)行一次 hash 再進(jìn)行一次 murmurHash,通過(guò)上述計(jì)算得到的值再與并行度進(jìn)行相應(yīng)的計(jì)算得到。
分組:分組(Grouping)是將具有相同鍵值的數(shù)據(jù)元素歸類(lèi)到一起,以便進(jìn)行后續(xù)操作(如聚合、窗口計(jì)算等)。
key值相同的數(shù)據(jù)將進(jìn)入同一個(gè)分組中。
注意:數(shù)據(jù)如果具有相同的key將一定去往同一個(gè)分組和分區(qū),但是同一分區(qū)中的數(shù)據(jù)不一定屬于同一組。

3.代碼示例

package com.flink.DataStream.Aggregation;import org.apache.flink.api.common.RuntimeExecutionMode;
import org.apache.flink.api.common.functions.FlatMapFunction;
import org.apache.flink.api.common.functions.MapFunction;
import org.apache.flink.api.common.typeinfo.Types;
import org.apache.flink.api.java.functions.KeySelector;
import org.apache.flink.api.java.tuple.Tuple2;
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.util.Collector;public class FlinkKeyByDemo {public static void main(String[] args) throws Exception {//TODO 創(chuàng)建Flink上下文執(zhí)行環(huán)境StreamExecutionEnvironment streamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment();//設(shè)置并行度為1streamExecutionEnvironment.setParallelism(1);//設(shè)置執(zhí)行模式為批處理streamExecutionEnvironment.setRuntimeMode(RuntimeExecutionMode.BATCH);//TODO source 從集合中創(chuàng)建數(shù)據(jù)源DataStreamSource<String> dataStreamSource = streamExecutionEnvironment.fromElements("hello word", "hello flink");//TODO 方式一 匿名實(shí)現(xiàn)類(lèi)SingleOutputStreamOperator<Tuple2<String, Integer>> outputStreamOperator1 = dataStreamSource.flatMap(new FlatMapFunction<String, String>() {@Overridepublic void flatMap(String s, Collector<String> collector) throws Exception {String[] s1 = s.split(" ");for (String word : s1) {collector.collect(word);}}}).map(new MapFunction<String, Tuple2<String, Integer>>() {@Overridepublic Tuple2<String, Integer> map(String s) throws Exception {Tuple2<String, Integer> aa = Tuple2.of(s, 1);return aa;}})/*** keyBy 得到的結(jié)果將不再是 DataStream,而是會(huì)將 DataStream 轉(zhuǎn)換為 KeyedStream(鍵控流)* KeyedStream 可以認(rèn)為是“分區(qū)流”或者“鍵控流”,它是對(duì) DataStream 按照 key 的一個(gè)邏輯分區(qū)* 所以泛型有兩個(gè)類(lèi)型:除去當(dāng)前流中的元素類(lèi)型外,還需要指定 key 的類(lèi)型。* *//*** 分組和分區(qū)在Flink 中具有不同的含義和作用:* 分區(qū):分區(qū)(Partitioning)是將數(shù)據(jù)流劃分為多個(gè)子集,這些子集可以在不同的任務(wù)實(shí)例上進(jìn)行處理,以實(shí)現(xiàn)數(shù)據(jù)的并行處理。*      數(shù)據(jù)具體去往哪個(gè)分區(qū),是通過(guò)指定的 key 值先進(jìn)行一次 hash 再進(jìn)行一次 murmurHash,通過(guò)上述計(jì)算得到的值再與并行度進(jìn)行相應(yīng)的計(jì)算得到。* 分組:分組(Grouping)是將具有相同鍵值的數(shù)據(jù)元素歸類(lèi)到一起,以便進(jìn)行后續(xù)操作 (如聚合、窗口計(jì)算等)。*      key 值相同的數(shù)據(jù)將進(jìn)入同一個(gè)分組中。* 注意:數(shù)據(jù)如果具有相同的key將一定去往同一個(gè)分組和分區(qū),但是同一分區(qū)中的數(shù)據(jù)不一定屬于同一組。* */.keyBy(new KeySelector<Tuple2<String, Integer>, String>() {@Overridepublic String getKey(Tuple2<String, Integer> stringIntegerTuple2) throws Exception {return stringIntegerTuple2.f0;}}).sum(1);//TODO 方式二 Lamda表達(dá)式實(shí)現(xiàn)SingleOutputStreamOperator<Tuple2<String, Integer>> outputStreamOperator2 = dataStreamSource.flatMap((String s, Collector<String> collector) -> {String[] s1 = s.split(" ");for (String word : s1) {collector.collect(word);}}).returns(Types.STRING).map((String word) -> {return Tuple2.of(word, 1);})//Java中l(wèi)amda表達(dá)式存在類(lèi)型擦除.returns(Types.TUPLE(Types.STRING, Types.INT)).keyBy((Tuple2<String, Integer> s) -> {return s.f0;}).sum(1);//TODO sinkoutputStreamOperator1.print("方式一");outputStreamOperator2.print("方式二");//TODO 執(zhí)行streamExecutionEnvironment.execute("Flink KeyBy Demo");}
}
http://www.risenshineclean.com/news/38743.html

相關(guān)文章:

  • hao愛(ài)做網(wǎng)站一鍵優(yōu)化是什么意思
  • 網(wǎng)站默認(rèn)首頁(yè)友鏈購(gòu)買(mǎi)網(wǎng)
  • 颶風(fēng)算法受影響的網(wǎng)站seo優(yōu)化主要做什么
  • 做網(wǎng)站必須注冊(cè)的商標(biāo)網(wǎng)頁(yè)生成
  • 做網(wǎng)站 創(chuàng)業(yè)seo查詢(xún)平臺(tái)
  • wordpress 彈出框企業(yè)網(wǎng)站優(yōu)化服務(wù)公司
  • 鄭州制作網(wǎng)站ihanshi河北優(yōu)化seo
  • 中原建設(shè)信息網(wǎng) 網(wǎng)站seo優(yōu)化方式包括
  • 漯河網(wǎng)站建設(shè)公司怎么建網(wǎng)站賣(mài)東西
  • 可以查企業(yè)備案的網(wǎng)站游戲推廣賺錢(qián)
  • 建設(shè)部國(guó)家標(biāo)準(zhǔn)網(wǎng)站線(xiàn)上銷(xiāo)售的方法和技巧
  • 怎么制作h5廣州seo推廣服務(wù)
  • 創(chuàng)辦一個(gè)網(wǎng)站需要多少錢(qián)百度灰色關(guān)鍵詞排名推廣
  • 南京醫(yī)院手機(jī)網(wǎng)站建設(shè)b站推廣鏈接
  • 網(wǎng)站專(zhuān)題頁(yè)面設(shè)計(jì)網(wǎng)絡(luò)推廣方案范文
  • 小程序appid格式東莞seo收費(fèi)
  • 過(guò)年做哪些網(wǎng)站能致富seo概念
  • 模板網(wǎng)站建設(shè)青島seo做的好的網(wǎng)站
  • 江門(mén)網(wǎng)站建設(shè)運(yùn)營(yíng)團(tuán)隊(duì)蘇州網(wǎng)站建設(shè)開(kāi)發(fā)公司
  • 上海網(wǎng)站免費(fèi)制作seo怎么讀
  • 薊縣網(wǎng)站建設(shè)品牌策劃公司排名
  • 哪個(gè)網(wǎng)站可以做行程表在線(xiàn)優(yōu)化網(wǎng)站
  • 做網(wǎng)站的職位家庭優(yōu)化大師下載
  • 吸金聚財(cái)?shù)墓久志W(wǎng)站seo整站優(yōu)化
  • 美麗鄉(xiāng)村網(wǎng)站建設(shè)模板百度搜索入口網(wǎng)址
  • 網(wǎng)站建設(shè)推廣文章百度廣告開(kāi)戶(hù)流程
  • 網(wǎng)站申請(qǐng)內(nèi)容嗎平臺(tái)推廣是什么意思
  • 攜程電子商務(wù)網(wǎng)站建設(shè)武漢大學(xué)人民醫(yī)院精神衛(wèi)生中心
  • 關(guān)于做無(wú)機(jī)化學(xué)實(shí)驗(yàn)的網(wǎng)站四川網(wǎng)絡(luò)推廣seo
  • b站直播能禁止id觀看嗎國(guó)外網(wǎng)站推廣公司