我正在寻找一些关于在大数据规模上实施归档工作流程的建议/解决方案。数据的来源是Kafka的信息。实时写入。目的地是s3桶。我需要根据消息中的字段对数据进行分区。对于每个分区,我需要将数据批处理成100mb的块,然后上传。数据速率约为5gb/分钟。因此100mb的批处理应该在几秒钟内完成。
我的问题是缩放和分批处理。因为我需要为消息中的“字段”批处理和压缩数据,所以我需要通过分区将这部分数据放在一起。对技术/工作流程有什么建议吗?
我正在寻找一些关于在大数据规模上实施归档工作流程的建议/解决方案。数据的来源是Kafka的信息。实时写入。目的地是s3桶。我需要根据消息中的字段对数据进行分区。对于每个分区,我需要将数据批处理成100mb的块,然后上传。数据速率约为5gb/分钟。因此100mb的批处理应该在几秒钟内完成。
我的问题是缩放和分批处理。因为我需要为消息中的“字段”批处理和压缩数据,所以我需要通过分区将这部分数据放在一起。对技术/工作流程有什么建议吗?
2条答案
按热度按时间lndjwyie1#
你可以使用Kafka连接。s3有一个连接器:
http://docs.confluent.io/current/connect/connect-storage-cloud/kafka-connect-s3/docs/s3_connector.html
bwitn5fc2#
您可以使用apachespark为您执行缩放和批处理过程。所以基本上流程可以是这样的:
apache kafka->apache spark->amazons3。
spark streaming api支持实时数据流的可伸缩、高吞吐量、容错流处理。数据可以从许多源(如kafka)摄取,并可以使用复杂的算法(如map、reduce、join和window等高级函数)进行处理。最后,经过处理的数据可以被推送到amazons3这样的文件系统中。