gpt4 book ai didi

apache-spark - 如何处理连接的 Avro 文件?

转载 作者:行者123 更新时间:2023-12-01 02:04:09 26 4
gpt4 key购买 nike

我正在以 Apache Avro 格式存储从我的 Web 应用程序生成的数据。数据经过编码并发送到 Apache Kinesis Firehose,它每 300 秒左右缓冲一次数据并将其写入 Amazon S3。由于我有多个 Web 服务器,这会导致将多个 Avro 文件 blob 发送到 Kinesis,然后它会连接并定期将它们写入 S3。

当我从 S3 获取文件时,我无法使用普通的 Avro 工具对其进行解码,因为它实际上是多个文件合二为一。我想我可以添加一个分隔符,但如果记录的数据也具有相同的分隔符,这似乎有风险。

处理这个问题的最佳方法是什么?我在标准中找不到任何支持将多个 Avro 文件连接到同一个文件中的内容。

最佳答案

看起来目前 firehose 不提供任何支持来处理您的用例,但它可以使用常规的 kinesis 流。

不是发送到 firehose,而是将数据发送到 kinesis 流,
您定义自己的 AWS Lambda 函数(带有 kinesis 事件源),它从流中读取数据并将其作为 Avro 文件写入 S3,在这里您不会遇到 firehose 的问题,因为您已经知道它是 avro 格式(和您可能拥有该架构),因此由您来正确解码/编码它(并立即将文件写入 S3)

关于apache-spark - 如何处理连接的 Avro 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33924908/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com