0

我想寫通過流水從S3存儲流數據到紅移的數據是實時流式傳輸(每分鐘600個文件),我不希望任何形式的數據丟失。有沒有辦法將數據放入S3存儲桶的Kinesis Firehose中?

如何把從S3到數據的Kinesis流水?

+1

歡迎計算器! 「來自S3存儲桶的數據流」是什麼意思?數據如何發送到S3?有沒有可能將發送實體更改爲Firehose而不是S3?一旦進入Firehose,你將如何處理這些數據? –

+0

數據來自SFTP服務器,一旦數據進入S3,我想將它存儲在Redshift中。爲了避免數據丟失,我想將數據放入流水流中,然後存儲到Redshift中。 – Vignesh

回答

0

它實際上專門做相反,流水發送傳入數據流亞馬遜S3不亞馬遜S3和S3相比其它可將數據發送到像紅移和Elasticsearch服務等服務。

我不知道這是否會解決您的問題,但你可以使用COPY from S3紅移。

希望這將有助於!

0

看來,你的情況是:

  • 文件隨機出現在S3 SFTP服務器
  • 您想將數據加載到紅移

有兩種基本你能方式執行此操作:

  • 將數據直接從Amazon S3加載到Amazon Redshift或
  • 通過亞馬遜的Kinesis流水發送數據

坦率地說,有什麼好處在通過室壁運動流水發送,因爲室壁運動只會批它,將其存儲到臨時S3文件,然後將其加載到紅移。因此,這不是一個有益的方法。

相反,我會建議:

  • 配置在亞馬遜S3鬥事件來發送消息給Amazon SQS隊列每當一個文件被創建
  • 配置亞馬遜CloudWatch的活動到定時觸發的AWS lambda函數(如每隔一小時,或15分鐘,或任何滿足您的業務需求)
  • AWS lambda函數讀取SQS一個消息第二構造一個manifest file,然後觸發紅移導入清單文件

這是一個簡單的,鬆耦合的解決方案,這將是比流水的方法更簡單(這需要以某種方式讀取每個列出的文件文件並將內容發送到Firehose)。

相關問題