增量S3文件,我做了如下管道: 任務管理器 - > SQS - >刮板工人(我的應用程序) - > AWS流水 - > S3文件 - >星火 - >紅移(?)。如何處理在星火
有些事情我試圖解決/改進,我會很樂意指導:
- 刮板可能得到複製數據,並再次刷新他們流水,這將導致火花的DUP。我應該在開始計算之前使用Distinct函數在火花中解決這個問題嗎?
- 我並沒有刪除S3處理過的文件,所以數據越來越大。這是一個很好的做法嗎? (以s3作爲輸入數據庫)或者我應該處理每個文件並在spark完成後刪除它?目前我正在做
sc.textFile("s3n://...../*/*/*")
- 這將收集我所有的桶文件並運行計算。 - 要將結果放入Redshift(或s3) - >我該如何增量執行此操作?也就是說,如果s3變得越來越大,那麼紅移會有重複的數據......我以前總是沖洗它嗎?怎麼樣?
你可以有你的水桶要處理的元素,一旦他們已推,將它們移動到另一個桶,所以你保留一份副本如果需要的話,但你不會處理它們第二次 –