成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Apache beam其他學(xué)習(xí)記錄

jasperyang / 3609人閱讀

摘要:與用于與的轉(zhuǎn)換。其中方法返回的是在中的位置下標(biāo)。對于設(shè)置了多個觸發(fā)器的,自動選擇最后一個觸發(fā)的結(jié)算結(jié)果。其他不是線程安全的,一般建議處理方法是冪等的。

Combine與GroupByKey

GroupByKey是把相關(guān)key的元素聚合到一起,通常是形成一個Iterable的value,如:

cat, [1,5,9]
dog, [5,2]
and, [1,2,6]

Combine是對聚合后的Iterable進行處理(如求和,求均值),返回一個結(jié)果。內(nèi)置的Combine.perKey()方法其實是GroupByKey和Combine的結(jié)合,先聚合和處理。
Beam中還有許多內(nèi)置的處理類,比如Sum.integersPerKey(),Count.perElement()等
在全局窗口下,對于空輸入,Combine操作后一般會返回默認(rèn)值(比如Sum的默認(rèn)返回值為0),如果設(shè)置了.withoutDefault(),則返回空的PCollection。
在非全局窗口下,用戶必須指明空輸入時的返回類型,如果Combine的輸出結(jié)果要作為下一級處理的輸入,一般設(shè)置為.asSingletonView(),表示返回默認(rèn)值,這樣即使空窗口也有默認(rèn)值返回,保證了窗口的數(shù)量不變;如果設(shè)置了.withoutDefault(),則空的窗口返回空PCollection,一般作為最后的輸出結(jié)果。

Platten與Patition

用于PCollection與PCollectionList的轉(zhuǎn)換。
官方文檔給的Platten代碼很容易理解:

// Flatten takes a PCollectionList of PCollection objects of a given type.
// Returns a single PCollection that contains all of the elements in the PCollection objects in that list.
PCollection pc1 = ...;
PCollection pc2 = ...;
PCollection pc3 = ...;
PCollectionList collections = PCollectionList.of(pc1).and(pc2).and(pc3);

PCollection merged = collections.apply(Flatten.pCollections());

將一個PCollectionList={ PCollection{String1}, PCollection{String2}, PCollection{String3} }轉(zhuǎn)換為一個PCollection={String1, String2, String3}.
而Patition剛好反過來,要將PCollection轉(zhuǎn)換為PCollectionList需要指明分成的list長度以及如何劃分,因此需要傳遞劃分長度size和劃分方法Fn。

// Split students up into 10 partitions, by percentile:
PCollectionList studentsByPercentile =
    students.apply(Partition.of(10, new PartitionFn() {
        public int partitionFor(Student student, int numPartitions) {
            return student.getPercentile()  // 0..99
                 * numPartitions / 100;
        }}));

其中partitionFor()方法返回的是在PCollectionList中的位置下標(biāo)。

Side Input

不能使用硬編碼數(shù)據(jù),通常是轉(zhuǎn)換中間產(chǎn)生的數(shù)據(jù)。一般用于跟主輸入數(shù)據(jù)進行比較,因此要求Side Input數(shù)據(jù)的窗口要與主輸入數(shù)據(jù)的窗口盡量一致,如果不一致,Beam會盡可能地從Side Input中找到合適的位置的數(shù)據(jù)進行比較。對于設(shè)置了多個觸發(fā)器的Side Input,自動選擇最后一個觸發(fā)的結(jié)算結(jié)果。

附屬輸出數(shù)據(jù) Additional Outputs

這一部分官方的代碼已經(jīng)寫得很清楚,看代碼即可。

數(shù)據(jù)編碼

在Pipeline的數(shù)據(jù)處理過程中經(jīng)常需要對數(shù)據(jù)元素進行字節(jié)轉(zhuǎn)換,因此需要制定字節(jié)轉(zhuǎn)換的編碼格式。對于絕大部分類型的數(shù)據(jù),Beam都提供了默認(rèn)的編碼類型,用戶也可以通過SetCoder指定編碼類型。
1)從內(nèi)存讀取的輸入數(shù)據(jù)一般要求用戶指定其編碼類型;
2)用戶自定義的類對象一般要求用戶指定其編碼類型,或者可以在類定義上使用@DefaultCoder(AvroCoder.class)指定默認(rèn)編碼類型。

其他:

Beam不是線程安全的,一般建議處理方法是冪等的。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/67678.html

相關(guān)文章

  • Apache Beam采坑系列——KafkaIO

    摘要:最近在用做流上的異常檢測,期間遇到了很多問題,但是發(fā)現(xiàn)網(wǎng)上相關(guān)的資料很少,基本只能自己啃文檔和瞎嘗試。其中如有錯漏,歡迎指出。即從一條數(shù)據(jù)中獲得時間戳,然后以的格式返回。丟棄掉中的附加信息使用這一設(shè)置時,得到的中的元素是的和組成的鍵值對。 最近在用Apache beam做流上的異常檢測,期間遇到了很多問題,但是發(fā)現(xiàn)網(wǎng)上相關(guān)的資料很少,基本只能自己啃文檔和瞎嘗試。所以想把自己踩過的坑記錄...

    iliyaku 評論0 收藏0
  • Apache Beam學(xué)習(xí)筆記——幾種常見的處理類Transform

    摘要:要說在中常見的函數(shù)是哪一個,當(dāng)然是。是一個實現(xiàn)了接口的抽象類,其中是數(shù)據(jù)處理方法,強制子類必須實現(xiàn)。以上為學(xué)習(xí)一天的總結(jié),有錯誤歡迎指正。相同的是這個方法處理的都是中的一個元素。 在閱讀本文前,可先看一下官方的WordCount代碼, 對Apache Beam有大概的了解。 要說在Apache Beam中常見的函數(shù)是哪一個,當(dāng)然是apply()。常見的寫法如下: [Final Outp...

    Chiclaim 評論0 收藏0
  • Apache Beam的分窗與觸發(fā)器

    摘要:需要注意的是和方法生成的觸發(fā)器是連續(xù)的而不是一次性的。其他的還有一次性觸發(fā)器將一次性觸發(fā)器變?yōu)檫B續(xù)型觸發(fā)器,觸發(fā)后再次等待觸發(fā)。例如與一起用可以實現(xiàn)每個數(shù)據(jù)到達后的分鐘進行處理,經(jīng)常用于全局窗口,可以用觸發(fā)器來設(shè)置停止條件。 本文參考Apache Beam官方編程手冊 可以結(jié)合官方的Mobile Game 代碼閱讀本文。 在默認(rèn)情況下,Apache Beam是不分窗的,也就是采用Gl...

    NickZhou 評論0 收藏0
  • Apache Beam訪問HDFS

    摘要:一直接訪問引入的相關(guān)包使用代替給指定配置與訪問本地文件一樣訪問文件實際測試中發(fā)現(xiàn)本地如能夠成功讀寫,但是集群模式下如讀寫失敗,原因未知。二通過訪問除了直接讀寫的數(shù)據(jù),還可以通過來進行讀寫。 一、直接訪問 1.引入HDFS的相關(guān)jar包: org.apache.beam beam-sdks-java-io-hadoop-file-system 2.1.0...

    UCloud 評論0 收藏0
  • ApacheCN 學(xué)習(xí)資源匯總 2019.1

    摘要:主頁暫時下線社區(qū)暫時下線知識庫自媒體平臺微博知乎簡書博客園我們不是的官方組織機構(gòu)團體,只是技術(shù)棧以及的愛好者合作侵權(quán),請聯(lián)系請抄送一份到基礎(chǔ)編程思想和大數(shù)據(jù)中文文檔中文文檔中文文檔中文文檔中文文檔中文文檔中文文檔中文文檔中文文檔中文文檔區(qū)塊 【主頁】 apachecn.org 【Github】@ApacheCN 暫時下線: 社區(qū) 暫時下線: cwiki 知識庫 自媒體平臺 ...

    cheng10 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<