静态分区去掉源数据分区列后执行(记得指定ymd=‘2019-10-10’):
1.创建分区表
CREATE TABLE temp
(
pile
smallint,
mp smallint,
carownerint
,
hmsint ) partitioned by (
ymd` int
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘\t’
STORED AS parquet;
2.加载数据,用sparksql
insert overwrite table test.rcd partition(ymd=‘2019-10-10’) select * from cr
动态分区不需要指定ymd=‘2019-01-01’,但是要将源数据ymd字段移动到最后一列
分区表中分区列在hive表中会成为一列或几列,但是在实际hdfs上的数据中分区列仅代表目录,在实际数据中并没有这些数据,因此,经常要删除掉源数据表中被用来分区的列,为了对应hdfs实际的列数。