成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

結(jié)構(gòu)化數(shù)據(jù)流-觸發(fā),監(jiān)控

IT那活兒 / 1858人閱讀
結(jié)構(gòu)化數(shù)據(jù)流-觸發(fā),監(jiān)控

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

01

流式查詢的觸發(fā)器的設(shè)置定義了流數(shù)據(jù)處理的時間,無論查詢時作為微批處理還是作為連續(xù)查詢執(zhí)行。

02

微批觸發(fā)類型

例子:

03

連續(xù)處理模式(Continuous processing)

Continuous processing連續(xù)處理模式是Spark 2.3中引入的一種新的實驗性流式執(zhí)行模式,可實現(xiàn)小于1毫秒的端到端延遲,并至少保證一次容錯。與默認的微批處理引擎相比,該引擎可以實現(xiàn)一次保證,但最多可實現(xiàn)約100ms的延遲。

對于某些類型的查詢(如下所述),您可以選擇在不修改應(yīng)用程序邏輯(即不更改數(shù)據(jù)幀/數(shù)據(jù)集操作)的情況下選擇何種模式執(zhí)行。

如果要在連續(xù)處理模式下執(zhí)行查詢,只需要定義一個連續(xù)觸發(fā)器,并將檢查點間隔作為參數(shù)。

1秒的檢查點間隔意味著連續(xù)處理引擎將每秒記錄查詢的進度。生成的檢查點采用與微批處理引擎兼容的格式,因此可以使用任何觸發(fā)器重新啟動任何查詢。

例如,以微批處理模式啟動的受支持查詢可以在連續(xù)模式下重新啟動,反之亦然。請注意,無論何時切換到連續(xù)模式,您都將獲得至少一次容錯保證。

自spark2.4,連續(xù)處理模式下僅支持以下查詢類型:

  • 操作(operation):在連續(xù)處理模式下僅支持類似map類型操作,像select, map, flatMap, mapPartitions,where, filter等,除了聚合函數(shù)支持所有SQL函數(shù)。

  • 數(shù)據(jù)源(source):kafka source和rate source(用于測試)。

  • 接收器(sink):Kafka sink,.Memory sink,Console sink。

雖然控制臺接收器適合測試,但最好使用Kafka作為源和接收器來觀察端到端的低延遲處理,因為這允許引擎在輸入主題中的輸入數(shù)據(jù)可用的毫秒內(nèi)處理數(shù)據(jù)并在輸出主題中提供結(jié)果。

警告:

1)Continuous processing engine啟動多個長時間運行的任務(wù),這些任務(wù)不斷地從源讀取數(shù)據(jù)、處理數(shù)據(jù)并不斷地向接收器寫入數(shù)據(jù)。查詢所需的任務(wù)數(shù)量取決于查詢可以并行地從源中讀取多少分區(qū)。

因此,在啟動連續(xù)處理查詢之前,您必須確保集群中有足夠的內(nèi)核來并行執(zhí)行所有任務(wù)。

例如,如果您正在閱讀一個有10個分區(qū)的Kafka主題,那么集群必須至少有10個核心才能使查詢?nèi)〉眠M展。

2)停止連續(xù)處理流可能會產(chǎn)生虛假的任務(wù)終止警告??梢苑判牡睾雎赃@些。

3)當(dāng)前沒有自動重試失敗的任務(wù)。任何故障都將導(dǎo)致查詢停止,需要從檢查點手動重新啟動查詢。

4)查詢運行后,無法修改多個配置。要更改它們,請放棄檢查點并啟動新查詢。這些配置包括:

  • spark.sql.shuffle.partitions

    這是由于狀態(tài)的物理分區(qū):狀態(tài)通過對鍵應(yīng)用哈希函數(shù)進行分區(qū),因此狀態(tài)的分區(qū)數(shù)應(yīng)該保持不變。如果您希望為有狀態(tài)操作運行更少的任務(wù),那么coalesce將有助于避免不必要的重新分區(qū)。合并后,除非發(fā)生另一次洗牌,否則(減少的)任務(wù)數(shù)將保持不變。

  • spark.sql.streaming.stateStore.providerClass,要正確讀取查詢的上一個狀態(tài),狀態(tài)存儲提供程序的類應(yīng)保持不變

  • spark.sql.streaming.multipleWatermarkPolicy

    當(dāng)查詢包含多個水印時,修改此項會導(dǎo)致水印值不一致,因此策略應(yīng)保持不變。


04

流查詢管理

調(diào)用start()方法后將生成StreamingQuery對象,可用于監(jiān)視可管理流查詢。

你可以再單個SparkSession中同時運行任意數(shù)量的查詢,這些查詢將同時運行并共享集群資源,您可以使用sparkSession.streams()獲取StreamingQueryManager,其可以管理當(dāng)前活動的查詢。


05

流查詢監(jiān)控

有多種方法可以監(jiān)控流查詢,可以使用spark的Dropwizard Metrics支持,或者通過編程方式進入他們。

您可以使用streamingQuery.lastProgress()和streamingQuery.status()直接獲取活動查詢的當(dāng)前狀態(tài)和指標。

  • lastProgress()返回Scala和Java中的StreamingQueryProgress對象,以及Python中具有相同字段的字典。它包含關(guān)于流的最后一個觸發(fā)器中所取得的進展的所有信息—處理了哪些數(shù)據(jù)、處理速率、延遲等。

  • streamingQuery.recentProgress,它返回最后幾個進展的數(shù)組。

您還可以通過附加StreamingQueryListener(Scala/Java文檔)異步監(jiān)視與SparkSession關(guān)聯(lián)的所有查詢。使用sparkSession.streams.attachListener()附加自定義StreamingQueryListener對象后,當(dāng)查詢啟動和停止以及在活動查詢中取得進展時,將收到回調(diào)。

舉個例子:

也可以使用Dropwizard報告查詢指標,需要進行如下設(shè)置:

啟用此配置后在SparkSession中啟動的所有查詢將通過Dropwizard向已配置的任何接收器(例如Ganglia、Graphite、JMX等)報告度量。

06

使用檢查點從故障中恢復(fù)

如果出現(xiàn)故障或故意關(guān)閉,可以恢復(fù)以前查詢的進度和狀態(tài),并在停止時繼續(xù)。這是使用檢查點和預(yù)寫日志完成的。

您可以使用檢查點位置配置查詢,該查詢將所有進度信息(即每個觸發(fā)器中處理的偏移量范圍)和正在運行的聚合(例如,快速示例中的字數(shù))保存到檢查點位置。此檢查點位置必須是HDFS兼容文件系統(tǒng)中的路徑。


END



本文作者:潘宗昊

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

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

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

相關(guān)文章

  • 這么多監(jiān)控組件,總有一款適合你

    摘要:典型實現(xiàn)不同的監(jiān)控模塊,側(cè)重于不同領(lǐng)域,有著不同的職責(zé)。指標收集方面,支持多樣化的組件將被優(yōu)先下使用。以上談了這么多,僅僅是聊了一下收集方面而已。 更多文章,請移步微信公眾號《小姐姐味道》 mp原文 https://mp.weixin.qq.com/s?__...監(jiān)控是分布式系統(tǒng)的必備組件,能夠起到提前預(yù)警、問題排查、評估決策等功效,乃行走江湖、居家必備之良品。 監(jiān)控系統(tǒng)概要 功能劃分...

    simon_chen 評論0 收藏0
  • 這么多監(jiān)控組件,總有一款適合你

    摘要:典型實現(xiàn)不同的監(jiān)控模塊,側(cè)重于不同領(lǐng)域,有著不同的職責(zé)。指標收集方面,支持多樣化的組件將被優(yōu)先下使用。以上談了這么多,僅僅是聊了一下收集方面而已。 更多文章,請移步微信公眾號《小姐姐味道》 mp原文 https://mp.weixin.qq.com/s?__...監(jiān)控是分布式系統(tǒng)的必備組件,能夠起到提前預(yù)警、問題排查、評估決策等功效,乃行走江湖、居家必備之良品。 監(jiān)控系統(tǒng)概要 功能劃分...

    wpw 評論0 收藏0
  • 前端監(jiān)控數(shù)據(jù)收集(請求攔截)

    摘要:的五種就緒狀態(tài)請求未初始化還沒有調(diào)用。請求已發(fā)送,正在處理中通?,F(xiàn)在可以從響應(yīng)中獲取內(nèi)容頭。并且還提供了每個階段的事件如果請求中止,會觸發(fā)事件。網(wǎng)絡(luò)錯誤如太多重定向會阻止請求完成,會觸發(fā)事件。當(dāng)?shù)却?wù)器的響應(yīng)時,對象會發(fā)生事件。 所謂web,即使你我素未謀面,便知志趣相投;足不出戶,亦知世界之大。 01 — 為什么攔截請求 現(xiàn)在的web應(yīng)用,大都是通過請求(http)去獲取資源,拿到...

    IntMain 評論0 收藏0
  • 前端監(jiān)控數(shù)據(jù)收集(請求攔截)

    摘要:的五種就緒狀態(tài)請求未初始化還沒有調(diào)用。請求已發(fā)送,正在處理中通?,F(xiàn)在可以從響應(yīng)中獲取內(nèi)容頭。并且還提供了每個階段的事件如果請求中止,會觸發(fā)事件。網(wǎng)絡(luò)錯誤如太多重定向會阻止請求完成,會觸發(fā)事件。當(dāng)?shù)却?wù)器的響應(yīng)時,對象會發(fā)生事件。 所謂web,即使你我素未謀面,便知志趣相投;足不出戶,亦知世界之大。 01 — 為什么攔截請求 現(xiàn)在的web應(yīng)用,大都是通過請求(http)去獲取資源,拿到...

    娣辯孩 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

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