hive 使用 beeline 执行hql传参数; hive 使用distcp 和 MSCK 进行hive数据库迁移

beeline 命令

-u 指定链接

-e 指定hql

-f 指定hql文件

--hiveconf 指定传参数,  参数在hql里形如 ${hiveconf:var}, 要有hiveconf:前缀

jdbc='jdbc:hive2://bd-master01-pe2.f.cn:10000/default;principal=hive/bd-master01-pe2.fastretailing-pro.cn@F.CN'

beeline -u "$jdbc" --slient=true --outputformat=tsv2 --hiveconf date="20181115" -f /home/fr-renjie.wei/fix_daily_fact.hql 
beeline -u "$jdbc" --slient=true --outputformat=tsv2 --hiveconf date="20181115" -e 'select * from table where column1 like "${hiveconf:date}"'

 

hadoop distcp 可以在两个集群间快速迁移文件或文件夹, -u参数可以差异更新

在beeline里可以执行MSCK命令来让hive识别没有被添加metastore信息的文件

set hive.msck.path.validation=ignore; 

MSCK REPAIR TABLE db.table;

 

posted @ 2018-12-21 18:34  爱知菜  阅读(70)  评论(0编辑  收藏  举报