0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Spark結(jié)構(gòu)化流中的加水位線方法

汽車玩家 ? 來源:今日頭條 ? 作者:聞數(shù)起舞 ? 2020-05-03 17:28 ? 次閱讀

對于流處理引擎來說,處理延遲到達的事件是至關(guān)重要的功能。 解決這個問題的方法是加水位線的概念。 從Spark 2.1開始,結(jié)構(gòu)化流API就支持它。

什么是水位線?

加水位線是一種有用的方法,可幫助流處理引擎處理延遲。 基本上,水印是一個閾值,用于指定系統(tǒng)等待延遲事件的時間。 如果到達事件位于水位線之內(nèi),它將用于更新查詢。 否則,如果它早于水位線,它將被丟棄,并且流引擎不會對其進行進一步處理。

> Flooding watermarks

如何使用它?

自Spark 2.1起,水位線被引入到結(jié)構(gòu)化流API中。 您可以通過將withWatermark-Operator添加到查詢中來啟用它:

withWatermark(eventTime:String,delayThreshold:String):數(shù)據(jù)集[T]

它需要兩個參數(shù),a)一個事件時間列(必須與聚合正在處理的列相同)和b)一個閾值,用于指定應(yīng)處理多長時間的延遲數(shù)據(jù)(以事件時間為單位)。 然后,Spark將維持聚合狀態(tài),直到max eventTime — delayThreshold> T,其中max eventTime是引擎看到的最新事件時間,T是窗口的開始時間。 如果后期數(shù)據(jù)落入此閾值之內(nèi),則查詢將最終得到更新(下圖中的右圖)。 否則,它將被丟棄,并且不會觸發(fā)任何重新處理(下圖中的左圖)。

Spark結(jié)構(gòu)化流中的加水位線方法

Spark結(jié)構(gòu)化流中的加水位線方法

> Late donkey in structured word count: event dropped (left), event within watermark updates Window

值得一提的是,查詢的輸出模式必須設(shè)置為"追加"(默認(rèn))或"更新"。完全模式不能與設(shè)計中的水印結(jié)合使用,因為它需要所有 要保存的數(shù)據(jù),用于將整個結(jié)果表輸出到接收器。

可以在這里找到如何在簡單的Spark結(jié)構(gòu)化流應(yīng)用程序中使用該概念的快速演示-它是字?jǐn)?shù)統(tǒng)計(對NLP進行了一些小的增強),還有其他:D

但是,為什么我要關(guān)心?

在分布式和聯(lián)網(wǎng)的系統(tǒng)中,總會有中斷的機會-節(jié)點故障,傳感器丟失連接等等。 因此,不能保證數(shù)據(jù)將按創(chuàng)建順序到達流處理引擎。 為了容錯,因此有必要處理此類亂序數(shù)據(jù)。

為了解決此問題,必須保留聚合狀態(tài)。 如果發(fā)生延遲事件,則可以重新處理查詢。 但這意味著所有聚合的狀態(tài)必須無限期地保持,這也導(dǎo)致內(nèi)存使用量也無限期地增長。 除非系統(tǒng)具有無限的資源(即無限的預(yù)算),否則在現(xiàn)實世界中這是不切實際的。 因此,加水位線是一個有用的概念,可以通過設(shè)計約束系統(tǒng)并防止其在運行時爆炸。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1502

    瀏覽量

    62080
  • SPARK
    +關(guān)注

    關(guān)注

    1

    文章

    105

    瀏覽量

    19920
收藏 人收藏

    評論

    相關(guān)推薦

    結(jié)構(gòu)化布線在AI數(shù)據(jù)中心的關(guān)鍵作用

    AI 正在不斷顛覆各行各業(yè),推動從電影制作到金融行業(yè)等各個領(lǐng)域的創(chuàng)新。而在 AI 系統(tǒng)的背后,隱藏著這樣一位無名英雄:結(jié)構(gòu)化布線。
    的頭像 發(fā)表于 11-21 16:51 ?339次閱讀

    基于分布式對象存儲WDS的信托非結(jié)構(gòu)化數(shù)據(jù)整合平臺

    基于分布式對象存儲WDS的信托非結(jié)構(gòu)化數(shù)據(jù)整合平臺
    的頭像 發(fā)表于 08-28 09:56 ?350次閱讀
    基于分布式對象存儲WDS的信托非<b class='flag-5'>結(jié)構(gòu)化</b>數(shù)據(jù)整合平臺

    spark運行的基本流程

    前言: 由于最近對spark的運行流程非常感興趣,所以閱讀了《Spark大數(shù)據(jù)處理:技術(shù)、應(yīng)用與性能優(yōu)化》一書。通過這本書的學(xué)習(xí),了解了spark的核心技術(shù)、實際應(yīng)用場景以及性能優(yōu)化的方法
    的頭像 發(fā)表于 07-02 10:31 ?415次閱讀
    <b class='flag-5'>spark</b>運行的基本流程

    Spark基于DPU的Native引擎算子卸載方案

    1.背景介紹 Apache Spark(以下簡稱Spark)是一個開源的分布式計算框架,由UC Berkeley AMP Lab開發(fā),可用于批處理、交互式查詢(Spark SQL)、實時
    的頭像 發(fā)表于 06-28 17:12 ?681次閱讀
    <b class='flag-5'>Spark</b>基于DPU的Native引擎算子卸載方案

    水位傳感器怎么測好壞

    水位傳感器是一種檢測水位變化的傳感器,廣泛應(yīng)用于工業(yè)、農(nóng)業(yè)、城市供水等領(lǐng)域。本文將詳細(xì)介紹水位傳感器的工作原理、類型、性能指標(biāo)、安裝方法以及如何檢測
    的頭像 發(fā)表于 06-19 10:38 ?1752次閱讀

    定期維護結(jié)構(gòu)化布線對于辦公室得重要性

    最大限度地減少網(wǎng)絡(luò)停機時間,確保最佳性能,并延長基礎(chǔ)設(shè)施的使用壽命。忽視維護可能會導(dǎo)致連接問題、數(shù)據(jù)傳輸速度變慢,甚至整個系統(tǒng)故障。 投入時間和資源進行結(jié)構(gòu)化布線維護是一種積極主動的方法,從長遠(yuǎn)來看,可以節(jié)省
    的頭像 發(fā)表于 06-14 10:44 ?245次閱讀

    什么是結(jié)構(gòu)化網(wǎng)絡(luò)布線?結(jié)構(gòu)化網(wǎng)絡(luò)布線有哪些好處?

    在電纜領(lǐng)域,結(jié)構(gòu)化網(wǎng)絡(luò)布線這個術(shù)語經(jīng)常被提及。人們將其用作流行語,但它的真正含義是什么?結(jié)構(gòu)化布線到底是什么? 為了了解真正的含義,讓我們看它的一些相關(guān)定義。 根據(jù)光纖協(xié)會的說法,結(jié)構(gòu)化布線是由
    的頭像 發(fā)表于 04-11 11:54 ?531次閱讀

    結(jié)構(gòu)化布線的好處多嗎

    結(jié)構(gòu)化布線是網(wǎng)絡(luò)系統(tǒng)的重要組成部分,因為它為數(shù)據(jù)傳輸提供了強大、可擴展且可靠的基礎(chǔ)。通過遵守全球公認(rèn)的標(biāo)準(zhǔn),結(jié)構(gòu)化布線可促進高速連接、簡化故障排除并確保未來的可擴展性??紤]到這些優(yōu)勢,企業(yè)應(yīng)優(yōu)先
    的頭像 發(fā)表于 04-07 11:15 ?448次閱讀

    什么是網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)化布線?

    。 什么是結(jié)構(gòu)化布線? 結(jié)構(gòu)化布線是指旨在支持網(wǎng)絡(luò)性能和可靠性的建筑基礎(chǔ)設(shè)施。它包含許多標(biāo)準(zhǔn)的較小元件(結(jié)構(gòu)化)和各種組件,包括電纜、連接器、機架和接線板,所有這些都安裝在預(yù)定義的分
    的頭像 發(fā)表于 04-07 10:58 ?413次閱讀

    Spark基于DPU Snappy壓縮算法的異構(gòu)加速方案

    Spark 在某些工作負(fù)載方面表現(xiàn)得更加優(yōu)越。換句話說,Spark 啟用了內(nèi)存分布數(shù)據(jù)集,除了能夠提供交互式查詢外,它還可以優(yōu)化迭代工作負(fù)載。Spark SQL是Spark的計算模塊
    的頭像 發(fā)表于 03-26 17:06 ?819次閱讀
    <b class='flag-5'>Spark</b>基于DPU Snappy壓縮算法的異構(gòu)加速方案

    RDMA技術(shù)在Apache Spark的應(yīng)用

    背景介紹 在當(dāng)今數(shù)據(jù)驅(qū)動的時代,Apache?Spark已經(jīng)成為了處理大規(guī)模數(shù)據(jù)集的首選框架。作為一個開源的分布式計算系統(tǒng),Spark因其高效的大數(shù)據(jù)處理能力而在各行各業(yè)中廣受歡迎。無論是金融服務(wù)
    的頭像 發(fā)表于 03-25 18:13 ?1549次閱讀
    RDMA技術(shù)在Apache <b class='flag-5'>Spark</b><b class='flag-5'>中</b>的應(yīng)用

    基于DPU和HADOS-RACE加速Spark 3.x

    、Python、Java、Scala、R)等特性在大數(shù)據(jù)計算領(lǐng)域被廣泛使用。其中,Spark SQL 是 Spark 生態(tài)系統(tǒng)的一個重要組件,它允許用戶以結(jié)構(gòu)化數(shù)據(jù)的方式進行數(shù)據(jù)處理
    的頭像 發(fā)表于 03-25 18:12 ?1381次閱讀
    基于DPU和HADOS-RACE加速<b class='flag-5'>Spark</b> 3.x

    水位傳感器怎么調(diào)水位高低

    水位傳感器是一種用于測量液體水位高低的設(shè)備,廣泛應(yīng)用于各種工業(yè)、農(nóng)業(yè)和家用領(lǐng)域。調(diào)整水位的高低對于確保設(shè)備的正常運行和合理利用水資源非常重要。在本篇文章,我們將詳細(xì)介紹
    的頭像 發(fā)表于 02-14 16:23 ?3501次閱讀

    科通技術(shù)推出基于FPGA的應(yīng)用設(shè)計結(jié)構(gòu)化技術(shù)

    隨著汽車技術(shù)的飛速發(fā)展,汽車功能的復(fù)雜性對處理芯片的算力及IO端口數(shù)量提出了更高的要求。作為一家正在進行IPO排隊的公司,深圳市科通技術(shù)股份有限公司(以下簡稱:科通技術(shù))積極應(yīng)對市場挑戰(zhàn),針對新一代汽車輔助駕駛的需求,研發(fā)了一系列基于FPGA的應(yīng)用設(shè)計結(jié)構(gòu)化技術(shù)。
    的頭像 發(fā)表于 02-02 09:34 ?555次閱讀

    從記錄的傳感器數(shù)據(jù)獲取駕駛場景

    此工作使用 MATLAB 和 RoadRunner 產(chǎn)品完成,它提供了一種結(jié)構(gòu)化方法來創(chuàng)建虛擬場景,使安波福的工程師能夠通過仿真嚴(yán)格驗證 ADAS/AD 閉環(huán)算法。
    的頭像 發(fā)表于 01-18 11:05 ?460次閱讀
    從記錄的傳感器數(shù)據(jù)<b class='flag-5'>中</b>獲取駕駛場景