加载数据
分区文件路径
数据文件有时在文件系统中使用目录结构进行分区。分区将值从原始数据中移出(在原始数据中,它们必须包含在每一行中),然后移入目录结构,从而节省磁盘空间。分区还可以通过允许跳过整个目录来提高查询性能。
在此之前,只有 Parquet 和 ORC 解析器可以利用分区文件路径。现在,通过新的 PARTITION COLUMNS 选项,COPY 支持所有解析器使用分区文件路径。Parquet 和 ORC 解析器的 hive_partition_cols
参数已被弃用。
与之前的版本相比,hive_partition_cols
参数的行为有以下变化:
-
嵌套的分区目录必须以一致的顺序出现在文件系统中。以下路径模式无效:
/data/created=2022-01-01/region=north /data/region=south/created=2022-01-02
-
如果无法通过目录名称解析列值,COPY 会拒绝路径,而不是将值视为 null。
-
如果路径缺少声明的分区列,则 COPY 始终返回错误。在此之前,如果 Parquet 解析器中的
do_soft_schema_match_by_name
为 true,解析器会用 null 值填充列。 -
分区列不再需要是表定义中的最后一列。
请参阅分区文件路径。