页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

目录

配置

Parquet的配置可以使用SparkSession的setConf来设置或者通过使用SQL运行SET key=value命令

Property Name

Default

Meaning

spark.sql.parquet.binaryAsString

false

 其他的一些产生Parquet的系统,特别是Impala和SparkSQL的老版本,当将Parquet模式写出时不会区分二进制数据和字符串。这个标志告诉Spark SQL将二进制数据解析成字符串,以提供对这些系统的兼容。

spark.sql.parquet.int96AsTimestamp

true

其他的一些产生Parquet的系统,特别是Impala,将时间戳存储为INT96的形式。Spark也将时间戳存储为INT96,因为我们要避免纳秒级字段的精度的损失。这个标志告诉Spark SQL将INT96数据解析为一个时间戳,以提供对这些系统的兼容。

spark.sql.parquet.cacheMetadata

true

打开Parquet模式的元数据的缓存。能够加快对静态数据的查询。

spark.sql.parquet.compression.codec

gzip

设置压缩编码解码器,当写入一个Parquet文件时。可接收的值包括:uncompressed, snappy, gzip, lzo

spark.sql.parquet.filterPushdown

false

打开Parquet过滤器的后进先出存储的优化。这个功能默认是被关闭的,因为一个Parquet中的一个已知的bug 1.6.0rc3 (PARQUET-136)。然而,如果你的表中不包含任何的可为空的(nullable)字符串或者二进制列,那么打开这个功能是安全的。

spark.sql.hive.convertMetastoreParquet

true

当设置成false,Spark SQL会为parquet表使用Hive SerDe(Serialize/Deserilize

spark.sql.parquet.mergeSchema

false

当设置true,Parquet数据源从所有的数据文件中合并schemas,否则schema来自summary file或随机的数据文件当summary file不可得时.