有一些有关将数据从Kafka主题复制到S3的示例和文档,但是如何将数据从S3复制到Kafka?
答案 0 :(得分:1)
根据您的方案或上载对象的所需频率,可以在每个事件(例如,每次上载文件)上使用Lambda函数,也可以将其用作cron。该lambda通过使用Kafka API充当生产者,并发布到主题。
详细信息:
s3:PutObject
事件。 答案 1 :(得分:0)
When you read an S3 object, you get a byte stream。您可以使用ByteArraySerializer
将任何字节数组发送到Kafka。
或者您可以将该InputStream解析为某个自定义对象,然后发送该using whatever serializer you can configure。
您可以在此处找到一个Kafka Connect流程示例(我假设您正在与Confluent的S3 Connect编写器进行比较)-https://jobs.zalando.com/tech/blog/backing-up-kafka-zookeeper/index.html,可以将其配置为从S3读取二进制归档文件或行限制文本。
类似地,Apache Spark,Flink,Beam,NiFi等类似的Hadoop相关工具也可以从S3读取数据并将事件写入Kafka。
此方法的问题是,您需要跟踪到目前为止已读取的文件,并处理部分读取的文件。