Flink实战系列Flink使用StreamingFileSink写入HDFS(parquet格式snappy压缩)

Posted JasonLee实时计算

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flink实战系列Flink使用StreamingFileSink写入HDFS(parquet格式snappy压缩)相关的知识,希望对你有一定的参考价值。

这篇文章主要介绍一下Flink使用StreamingFileSink写入HDFS怎么用snappy压缩,之前的文章介绍过了写入parquet格式的数据,当时也有星球里面的朋友问这种写法怎么压缩,我只是简单的回复了说可以用AvroParquetWriter,今天就来详细介绍一下具体怎么实现

我们首先来看一下AvroParquetWriter的源码

/** Create a new @link AvroParquetWriter.
 *
 * @param file a file path
 * @param avroSchema a schema for the write
 * @param compressionCodecName compression codec
 * @param blockSize target block size
 * @param pageSize target page size
 * @throws IOException if there is an error while writing
 */
@Deprecated
public AvroParquetWriter(Path file, Schema avroSchema,
    CompressionCodecName compressionCodecName, int blockSize,
    int pageSize) throws IOException 
  super(file, AvroParquetWriter.<T>writeSupport(avroSchema, SpecificData.get()),
     compressionCodecName, blockSize, pageSize);
可以看到AvroParquetWriter是支持压缩的第三个参数compressionCodecName就表示压缩

以上是关于Flink实战系列Flink使用StreamingFileSink写入HDFS(parquet格式snappy压缩)的主要内容,如果未能解决你的问题,请参考以下文章

Flink 实战系列Flink 使用 ParameterTool 动态加载外部配置文件

Apache 流框架 Flink,Spark Streaming,Storm对比分析

Flink实战系列Flink使用StreamingFileSink写入HDFS(parquet格式snappy压缩)

Flink实战系列Flink SQL 实时同步数据到 Hive

Flink实战系列Flink SQL 如何实现 count window 功能?

Flink实战系列Flink SQL 写入 kafka 自定义分区策略