Amazon s3 以拼花格式将json数据从kafka写入s3

Amazon s3 以拼花格式将json数据从kafka写入s3,amazon-s3,apache-kafka,apache-flink,flink-streaming,Amazon S3,Apache Kafka,Apache Flink,Flink Streaming,我正在编写一个流应用程序(Flink,Kafka,S3),它以JSON格式将数据放到Kafka上,我需要以拼花格式将数据写入S3 我搜索了很多地方并阅读了有关stackoverflow的问题,但我没有得到一个明确的答案,即如果我想将拼花写入s3,是否必须在flink中读取AVRO格式的数据 我需要从JSON->AVRO->拼花地板开始 或者使用kafka、flink、S3可以使用JSON->Parquet,只要输入的模式或多或少是静态的,就应该可以实现这一点。 其思想是首先将JSON转换为avr

我正在编写一个流应用程序(Flink,Kafka,S3),它以JSON格式将数据放到Kafka上,我需要以拼花格式将数据写入S3

我搜索了很多地方并阅读了有关stackoverflow的问题,但我没有得到一个明确的答案,即如果我想将拼花写入s3,是否必须在flink中读取AVRO格式的数据

我需要从JSON->AVRO->拼花地板开始


或者使用kafka、flink、S3可以使用JSON->Parquet,只要输入的模式或多或少是静态的,就应该可以实现这一点。 其思想是首先将JSON转换为avro,例如,您可以使用以下转换器:

然后可以将输出写入s3。为此,您可以创建一个
StreamingFileSink
,在引擎盖下使用
ParquetAvroWriters
。比如:

StreamingFileSink
  .forBulkFormat([somePath], ParquetAvroWriters.forGenericRecord(schema))
  .build()