批处理和上传实时流量到S3

时间:2017-06-12 20:00:44

标签: amazon-s3 apache-kafka real-time batch-processing bigdata

我正在寻找关于在大数据规模上实施归档工作流程的一些建议/解决方案。 数据源是kafka中的消息。这是实时写的。目的地是S3桶。 我需要根据消息中的字段对数据进行分区。对于每个分区,我需要将数据批量处理为100Mb块然后上传它。 数据速率约为5GB /分钟。所以100Mb的批次应该会在几秒钟内完成。

我的麻烦在于缩放和批处理。因为我需要为"字段"批量和压缩数据。在消息中,我需要通过分区将这部分数据放在一起。关于技术/工作流程的任何建议?

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

您可以使用Apache spark为您执行扩展和批处理过程。所以基本上流程看起来像这样:

Apache Kafka - > Apache Spark - >亚马逊S3。

Spark Streaming API支持实时数据流的可扩展,高吞吐量,容错流处理。数据可以从Kafka等许多来源获取,并且可以使用复杂的算法进行处理,例如map,reduce,join和window等高级函数。最后,处理后的数据可以推送到Amazon S3等文件系统。