我正在尋找關於在大數據規模下實施歸檔工作流的一些建議/解決方案。 數據來源是kafka中的消息。它是實時寫入的。目標是S3存儲桶。 我需要根據消息中的字段對數據進行分區。對於每個分區,我需要將數據批量處理爲100Mb塊,然後將其上傳。 數據速率爲〜5GB /分鐘。所以100Mb批次應該在幾秒鐘內完成。批處理和上傳到S3的實時流量
我的問題在於縮放和配料。由於我需要爲消息中的「字段」批處理和壓縮數據,因此我需要通過分區將這部分數據組合在一起。有關技術/工作流程的任何建議?
我正在尋找關於在大數據規模下實施歸檔工作流的一些建議/解決方案。 數據來源是kafka中的消息。它是實時寫入的。目標是S3存儲桶。 我需要根據消息中的字段對數據進行分區。對於每個分區,我需要將數據批量處理爲100Mb塊,然後將其上傳。 數據速率爲〜5GB /分鐘。所以100Mb批次應該在幾秒鐘內完成。批處理和上傳到S3的實時流量
我的問題在於縮放和配料。由於我需要爲消息中的「字段」批處理和壓縮數據,因此我需要通過分區將這部分數據組合在一起。有關技術/工作流程的任何建議?
您可以使用Apache spark爲您進行縮放和批處理。所以基本上流程如下所示:
Apache Kafka - > Apache Spark - > Amazon S3。
Spark Streaming API支持實時數據流的可擴展,高吞吐量,容錯流處理。數據可以從許多來源如卡夫卡攝入,並且可以使用複雜算法進行處理,例如地圖,縮小,連接和窗口等高級功能。最後,處理後的數據可以推送到Amazon S3等文件系統。
您可以使用Kafka Connect。有對S3的連接器:
查找到的Kinesis流水,這需要讀數,並將它們放入S3。沒有訂單保證,您需要安排重新發送一小部分故障(平均爲0.01〜0.1%),但快速簡單。 – l0b0
我需要非常嚴格的數據丟失保證。數據丟失是不可接受的。不需要訂購保證 –
用於Kafka的S3連接器不會丟失數據。你也可以放入你想要的任何批次策略。縮放連接器也很簡單。 http://docs.confluent.io/current/connect/connect-storage-cloud/kafka-connect-s3/docs/s3_connector.html – dawsaw