亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

storm Transactional spouts有哪些特性

發布時間:2021-12-22 17:31:10 來源:億速云 閱讀:97 作者:iii 欄目:云計算

本篇內容介紹了“storm Transactional spouts有哪些特性”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

Trident是以小批量(batch)的形式在處理tuple,并且每一批都會分配一個唯一的transaction id。不同spout的特性不同,一個transactionalspout會有如下這些特性:

1、有著同樣txid的batch一定是一樣的。當重播一個txid對應的batch時,一定會重播和之前對應txid的batch中同樣的tuples。

2、各個batch之間是沒有交集的。每個tuple只能屬于一個batch

3、每一個tuple都屬于一個batch,無一例外

這是一類非常容易理解的spout, tuple 流被劃分為固定的batch并且永不改變。(trident-kafka 有一個 transactional spout 的實現。)

你也許會問:為什么我們不總是使用transactional spout?這很容易理解。一個原因是并不是所有的地方都需要容錯的。舉例來說,TransactionalTridentKafkaSpout 工作的方式是一個batch包含的tuple來自某個kafka topic中的所有partition。一旦這個batch被發出,在任何時候如果這個batch被重新發出時,它必須包含原來所有的tuple以滿足 transactional spout的語義。現在我們假定一個batch被TransactionalTridentKafkaSpout所發出,這個batch沒有被成功處理,并且同時kafka的一個節點也down掉了。你就無法像之前一樣重播一個完全一樣的batch(因為kakfa的節點down掉,該topic的一部分partition可能會無法使用),整個處理會被中斷。

這也就是"opaque transactional" spouts(不透明事務spout)存在的原因 - 他們對于丟失源節點這種情況是容錯的,仍然能夠幫你達到有且只有一次處理的語義。后面會對這種spout有所介紹。

在討論"opaque transactional" spout之前,我們先來看看怎樣為transactional spout設計一個具有exactly-once語義的State實現。這個State的類型是"transactionalstate" 并且它利用了任何一個txid總是對應同樣的tuple序列這個語義。

假如說你有一個用來計算單詞出現次數的topology,你想要將單詞的出現次數以key/value對的形式存儲到數據庫中。key就是單詞,value就是這個這個單詞出現的次數。你已經看到只是存儲一個數量是不足以知道你是否已經處理過一個batch的。你可以通過將value和txid一起存儲到數據庫中。這樣的話,當更新這個count之前,你可以先去比較數據庫中存儲的txid和現在要存儲的txid。如果一樣,就跳過什么都不做,因為這個value之前已經被處理過了。如果不一樣,就執行存儲。這個邏輯可以工作的前提就是txid永不改變,并且Trident保證狀態的更新是在batch之間嚴格順序進行的。

考慮下面這個例子的運行邏輯,假定你在處理一個txid為3的包含下面tuple的batch:

["man"]

["man"]

["dog"]

假定數據庫中當前保存了下面這樣的key/value 對:

man => [count=3, txid=1]

dog => [count=4, txid=3]

apple => [count=10, txid=2]

單詞“man”對應的txid是1. 因為當前的txid是3,你可以確定你還沒有為這個batch中的tuple更新過這個單詞的數量。所以你可以放心的給count加2并更新txid為3. 與此同時,單詞“dog”的txid和當前的txid是相同的,因此你可以跳過這次更新。此時數據庫中的數據如下:

man => [count=5, txid=3]

dog => [count=4, txid=3]

apple => [count=10, txid=2]

“storm Transactional spouts有哪些特性”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

中宁县| 邵阳县| 汉源县| 琼中| 鞍山市| 伊金霍洛旗| 盱眙县| 望江县| 志丹县| 巴彦淖尔市| 伽师县| 荣成市| 余庆县| 栾城县| 福安市| 丹阳市| 浮梁县| 监利县| 三门县| 务川| 宕昌县| 高台县| 鹤庆县| 怀集县| 罗源县| 哈尔滨市| 体育| 龙陵县| 余姚市| 台北市| 石棉县| 怀仁县| 宁强县| 沈阳市| 兴义市| 教育| 阜南县| 清镇市| 甘南县| 桂平市| 贡觉县|