問題
你有一個結構化的流媒體通過S3-SQS連接器工作運行。假設您想重現源SQS, SNS的支持數據,你想進行一個新的隊列處理同樣的工作,在同一輸出目錄。
解決方案
使用以下過程:
- 創建新的SQS隊列和訂閱s3-events(從SNS)。在這一點上,同樣的消息是在新舊隊列。
- 設置選項allowOverwrites來假在新的流媒體工作並開始運行它。
- 拿一個重疊的時間間隔大於觸發時間短,關閉舊的工作。
為什麼這個工作嗎?
與SQS流,Apache火花維護檢查點目錄中的文件路徑。如果你設置allowOverwrites來假(默認為真正的獲取的),一個將被丟棄而同時運行隊列。在這種情況下,文件沒有再加工,沒有任何副本或數據丟失。