更新时间:2022-02-22 GMT+08:00
Datasource表优化
操作场景
将datasource表的分区消息存储到Metastore中,并在Metastore中对分区消息进行处理。
- 优化datasource表,支持对表中分区执行增加、删除和修改等语法,从而增加与Hive的兼容性。
- 支持在查询语句中,把分区裁剪并下压到Metastore上,从而过滤掉不匹配的分区。
此时,在物理计划中执行TableScan操作时,只处理分区(partCol=1)对应的数据。
操作步骤
要启动Datasource表优化,在Spark客户端的“spark-defaults.conf”配置文件中进行设置。
参数 |
描述 |
默认值 |
---|---|---|
spark.sql.hive.manageFilesourcePartitions |
是否启用Metastore分区管理(包括数据源表和转换的Hive表)。
|
true |
spark.sql.hive.metastorePartitionPruning |
是否支持将predicate下压到Hive Metastore中。
|
true |
spark.sql.hive.filesourcePartitionFileCacheSize |
启用内存中分区文件元数据的缓存大小。 所有表共享一个可以使用指定的num字节进行文件元数据的缓存。 只有当“spark.sql.hive.manageFilesourcePartitions”配置为“true”时,该配置项才会生效。 |
250 * 1024 * 1024 |
spark.sql.hive.convertMetastoreOrc |
设置ORC表的处理方式:
|
true |
父主题: SQL和DataFrame调优