亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

spark Dstreams-常見操作

IT那活兒 / 2400人閱讀
spark Dstreams-常見操作

點擊上方“IT那活兒”,關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了?。?!



01


轉(zhuǎn)換操作


與RDD類似,轉(zhuǎn)換允許修改輸入數(shù)據(jù)流中的數(shù)據(jù)。數(shù)據(jù)流支持普通Spark RDD上的許多轉(zhuǎn)換。
下面是一些常見的例子:


02


UpdateStateByKey 操作


UpdateStateByKey操作可以讓你使用新信息不斷更新狀態(tài)的同時保持任意的狀態(tài),操作起來有兩步:
1)定義狀態(tài)-狀態(tài)可以是任意數(shù)據(jù)類型;
2)定義狀態(tài)更新函數(shù)-使用函數(shù)指定如何使用以前的狀態(tài)和輸入流中的新值更新狀態(tài)。
在每個批次中spark將會對現(xiàn)有key應(yīng)用狀態(tài)更新函數(shù),而不管他們是否在批次中有新數(shù)據(jù),如果更新函數(shù)返回為none,則鍵值對會進行消除。
假設(shè)你想維護文本數(shù)據(jù)流中每個單詞的運行計數(shù),在這里運行計數(shù)是狀態(tài),他是一個整數(shù),函數(shù)定義如下:
def updateFunction(newValues: Seq[Int], runningCount: Option[Int]): Option[Int] = {
val newCount = ... // add the new values with the previous running count to get the new count
Some(newCount)}
val runningCounts = pairs.updateStateByKey[Int](updateFunction _)
將為每個單詞調(diào)用更新函數(shù),newValues的序列為(word, 1)鍵值對,runningCount為序列的先前的計數(shù)。
請注意,使用updateStateByKey需要配置檢查點目錄。


03


Transform 操作


transform操作(和其延伸transformWith)允許任何RDD-to-RDD的函數(shù)應(yīng)用于DStream,他可應(yīng)用與任何未在數(shù)據(jù)流API公開的RDD操作,例如數(shù)據(jù)流中的每個批與另一個數(shù)據(jù)集連接的功能在DStream API中沒有直接公開但是,你可以使用輕松的使用transform來實現(xiàn)這一點,這提供了非常強大的可能性。
例如,可以通過將輸入流與垃圾郵件信息連接起來,然后根據(jù)這些進行數(shù)據(jù)過濾,從而進行實時數(shù)據(jù)清理。
請注意在每個批處理間隔中都會調(diào)用提供的函數(shù),像時變RDD操作,分區(qū)數(shù),廣播變量等可以再批之間進行修改。


04


窗口操作


Spark streaming提供了窗口操作,窗口操作允許你在滑動數(shù)據(jù)窗口中應(yīng)用轉(zhuǎn)換,示意圖:
如圖所示,每次窗口在源數(shù)據(jù)流上滑動時,位于窗口內(nèi)的源RDD將被組合并操作,以生成窗口化數(shù)據(jù)流的RDD。在這種特定情況下,該操作應(yīng)用于數(shù)據(jù)的最后3個時間單位,并按2個時間單位滑動。
這表明任何窗口操作都需要指定兩個參數(shù)。
1)Window length:窗口長度;
2)Sliding interval:執(zhí)行窗口操作的時間間隔。
這兩個參數(shù)必須是源數(shù)據(jù)批間隔的倍數(shù)。
舉一個例子來說明窗口操作,假如你想統(tǒng)計過去30秒的單詞統(tǒng)計結(jié)果,窗口每10秒滑動一次,那么可以這樣寫:
下面是一些常用的window操作,所有這些操作都包括兩個參數(shù)(windowLength,slideInterval):



本文作者:潘宗昊

本文來源:IT那活兒(上海新炬王翦團隊)

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

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/129614.html

相關(guān)文章

  • SparkStreaming概述

    摘要:但在企業(yè)中存在很多實時性處理的需求,例如雙十一的京東阿里,通常會做一個實時的數(shù)據(jù)大屏,顯示實時訂單。這種情況下,對數(shù)據(jù)實時性要求較高,僅僅能夠容忍到延遲分鐘或幾秒鐘。1 Spark Streaming是什么它是一個可擴展,高吞吐具有容錯性的流式計算框架吞吐量:單位時間內(nèi)成功傳輸數(shù)據(jù)的數(shù)量之前我們接觸的spark-core和spark-sql都是處理屬于離線批處理任務(wù),數(shù)據(jù)一般都是在固定位置上...

    Tecode 評論0 收藏0
  • Spark Streaming學習筆記

    摘要:輸入和接收器輸入代表從某種流式數(shù)據(jù)源流入的數(shù)據(jù)流。文件數(shù)據(jù)流可以從任何兼容包括等的文件系統(tǒng),創(chuàng)建方式如下將監(jiān)視該目錄,并處理該目錄下任何新建的文件目前還不支持嵌套目錄。會被一個個依次推入隊列,而則會依次以數(shù)據(jù)流形式處理這些的數(shù)據(jù)。 特點: Spark Streaming能夠?qū)崿F(xiàn)對實時數(shù)據(jù)流的流式處理,并具有很好的可擴展性、高吞吐量和容錯性。 Spark Streaming支持從多種數(shù)...

    陸斌 評論0 收藏0
  • Spark入門階段一之掃盲筆記

    摘要:同時集成了機器學習類庫?;谟嬎憧蚣?,將的分布式計算應(yīng)用到機器學習領(lǐng)域。提供了一個簡單的聲明方法指定機器學習任務(wù),并且動態(tài)地選擇最優(yōu)的學習算法。宣稱其性能是的多倍。 介紹 spark是分布式并行數(shù)據(jù)處理框架 與mapreduce的區(qū)別: mapreduce通常將中間結(jié)果放在hdfs上,spark是基于內(nèi)存并行大數(shù)據(jù)框架,中間結(jié)果放在內(nèi)存,對于迭代數(shù)據(jù)spark效率更高,mapred...

    starsfun 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<