一、实现13位时间戳转毫秒时间类型
select
concat(t,".",substring(1611231717343,11,13))
from(
select from_unixtime(cast(substring(1611231717343,0,10) as bigint),'yyyy-MM-dd HH:dd:ss') as t)tmp;
二、hive分区表新增字段并且新增字段的数据要写入当前和历史分区三种方法
1、cascade关键字作用:强制刷新表和所有分区的元数据信息(包括历史数据分区的)
alter table test add columns(sex string) cascade;
2、不使用cascade关键字增加字段后,使用下面的语句刷新指定分区的元数据信息,该历史分区就可以重新插入数据
alter table tableName add columns(columnName columnType);
alter table tableName partition(partitionColumnName='partitionValue') add columns(columnName columnType);
3、有些hive版本比较低不支持cascade,则需要备份数据,删除该分区后再insert overwrite。