页面树结构

2017-07-25 Apache Spark 2.2.0 官方文档中文版发布 : http://spark.apachecn.org/docs/cn/2.2.0/


MachineLearning 优酷地址 : http://i.youku.com/apachecn

转至元数据结尾
转至元数据起始

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

属性名

默认值

含义

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

snappy

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

spark.sql.parquet.filterPushdown

false

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

spark.sql.hive.convertMetastoreParquet

true

当设置成 falseSpark SQL 会为 parquet 表使用 Hive SerDe(Serialize/Deserilize)。

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