根据已有表创建复制表
create external table temp.table2 like db.origin_table; 如果源表是一个parquet格式的,结构比较复杂,用like是最方便的方式。
Load Partiton
方式1
alter table temp.table2 add partition(dt='20220531') location 's3://xxx-bucket/yyy/dt=20220531/20220531102042/' 执行很快,不会复制文件,源文件会保留,要求表必须是external的。
方式2
load data inpath "s3://xxx-bucket/yyy/dt=20220531/20220531102042/" OVERWRITE INTO TABLE temp.table2 PARTITION (dt='20220531'); 执行较慢,会把文件从源目录复制到新目录,源文件会被删除。
注意:path必须要精确到*.parquet文件的上一层。