我正在以 Apache Avro 格式存储从我的 Web 应用程序生成的数据。数据经过编码并发送到 Apache Kinesis Firehose,该 Firehose 每隔 300 秒左右缓冲一次数据并将数据写入 Amazon S3。由于我有多个 Web 服务器,这会导致将多个 Avro 文件 blob 发送到 Kinesis,然后将它们连接起来并定期将它们写入 S3。
当我从 S3 获取文件时,我无法使用普通的 Avro 工具对其进行解码,因为它实际上是多个文件合二为一。我想我可以添加一个分隔符,但如果记录的数据也具有相同的分隔符,这似乎有风险。
处理这个问题的最佳方法是什么?我在标准中找不到任何支持将多个 Avro 文件连接到同一个文件中的内容。