如何使用自定义拼花压缩算法?

Posted

技术标签:

【中文标题】如何使用自定义拼花压缩算法?【英文标题】:How to use custom parquet compression algorithm? 【发布时间】:2018-01-06 11:02:55 【问题描述】:

是否可以在 Spark 中使用自定义压缩算法来读取和写入 Parquet 文件?

理想情况下,配置如下:

sqlContext.setConf("spark.sql.parquet.compression.codec", "myalgo")

【问题讨论】:

【参考方案1】:

不,正如in the documentation(此处指的是版本 2.2.0)所述,唯一可接受的值是

uncompressed, snappy, gziplzo

snappy 是默认值。

这是由于 Parquet 本身的限制,它仅使用一组受限的压缩算法,如 this enumeration 中所列(适用于版本 1.5.0)。

【讨论】:

还有较新的 Parquet 版本支持 Brotli 和 ZStandard 作为压缩算法。但是这些可以被较新的 Parquet 阅读器阅读(我认为任何典型的 Hadoop 发行版都不支持这一点)

以上是关于如何使用自定义拼花压缩算法?的主要内容,如果未能解决你的问题,请参考以下文章

如何在MapReduce作业中以拼花文件格式编写输出?

如何有效地将大型数据框拆分为多个拼花文件?

如何自定义压缩文件中的快捷方式以从当前目录运行 exe?

WeihanLi.Redis自定义序列化及压缩方式

如何在自定义绑定的 defaultAlgorithmSuite 中使用 RSA-SHA512 作为签名算法?

Linux相关--换新的ECS,无法使用自定义镜像,数据如何迁移