日期转换并减一个月
select from_unixtime(unix_timestamp(add_months(from_unixtime(unix_timestamp('2020-06-19', 'yyyy-MM-dd'), 'yyyy-MM-dd HH:mm:ss'), -1), 'yyyy-MM-dd'),'yyyy-MM-dd')
查出表字段
hive -n xx -p pp -e "describe formatted db.tb" | awk '{print $2}'
如
aa
bb
dt
将字段准备到sql中
insert
into
db.tb(
aa,
bb,
dt
)
select
aa,
bb,
from_unixtime(
unix_timestamp(
add_months(
from_unixtime(
unix_timestamp(dt, 'yyyy-MM-dd'),
'yyyy-MM-dd HH:mm:ss'
),
-1
),
'yyyy-MM-dd'
),
'yyyy-MM-dd'
)
where dt = '2020-06-19';
编写脚本 vi copy_data.sh
#!/bin/bash
sql="insert
into
db.tb(
aa,
bb,
dt
)
select
aa,
bb,
from_unixtime(
unix_timestamp(
add_months(
from_unixtime(
unix_timestamp(dt