我已经创建了下表,想了解分区是如何工作的,分区列 LogDate
不是表ddl的一部分,因此分区如何工作以及数据分发和检索如何发生。
create table tbl_1
(
CollectTimeStamp TIMESTAMP,
ObjectColumnName VARCHAR(256),
ObjectDatabaseName VARCHAR(256),
TypeofUse TINYINT
)
PARTITIONED BY (LogDate STRING)
row format delimited fields terminated by '\u0001'
stored as ORC
LOCATION '/tables/db1/tbl_1' ;
1条答案
按热度按时间v64noz0r1#
分区列``肯定是表ddl的一部分,因为
PARTITIONED BY
也是ddl。分区是一个文件夹,所以不需要在数据文件中存储分区键数据。分区信息(分区键、位置)存储在metastore数据库中。对于动态分区加载,分区列应该是insert overwrite语句的最后一个。当您查询表时,配置单元从元存储中读取有关分区(键、位置)的信息。位置(文件夹)可以附加为分区:请参阅以下文档:https://cwiki.apache.org/confluence/display/hive/languagemanual+ddl