【发布时间】:2016-09-22 06:31:47
【问题描述】:
我正在接收来自 Kafka 的 Avro 记录。我想将这些记录转换为 Parquet 文件。我正在关注这篇博文:http://blog.cloudera.com/blog/2014/05/how-to-convert-existing-data-into-parquet/
到目前为止的代码大致是这样的:
final String fileName
SinkRecord record,
final AvroData avroData
final Schema avroSchema = avroData.fromConnectSchema(record.valueSchema());
CompressionCodecName compressionCodecName = CompressionCodecName.SNAPPY;
int blockSize = 256 * 1024 * 1024;
int pageSize = 64 * 1024;
Path path = new Path(fileName);
writer = new AvroParquetWriter<>(path, avroSchema, compressionCodecName, blockSize, pageSize);
现在,这将执行 Avro 到 Parquet 的转换,但它会将 Parquet 文件写入磁盘。我想知道是否有一种更简单的方法可以将文件保存在内存中,这样我就不必管理磁盘上的临时文件。谢谢
【问题讨论】: