Shell脚本判断Hive中的表是否存在

背景

数据分析中使用到运营人员手工加工的一份数据,通过数据工具创建了能使用7天的临时表,并把数据导入,但这份数据每周都会变,历史数据需要保存下来使用,所以需要从临时表中把数据同步到ods层永久保存。

从网上找了份代码依葫芦画瓢进行修改,对方是一个问答式的网页,这里就不贴链接了,在此谢谢「Ale*_*thy」网友的答案。

声明:本人非技术,所有操作都是通过现有的数据工具平台实现。话不多说,上代码

实现代码

我们的临时表是放在临时空间(tmp)里,我们也叫临时库中。

实现逻辑是,每天定时去扫一遍临时库,当指定的临时表存在时,执行数据同步脚本,不存在时啥也不干。

tableName=tmp_some_tame
validateTable=$(hive --database tmp -e "SHOW TABLES LIKE '$tableName'")
if [[ -z $validateTable ]]; then
  echo "$tableName 表不存在,任务结束"
  exit 1
else
  hive -f some_tame_sync.hql
fi

说明:

  • tableName:导入数据的临时表名称,也就是需要查找的表名称
  • hive --database tmp -e “SHOW TABLES LIKE ‘$tableName’” 这是一条在shell中执行hive查出的命令,–database后面跟的是数据库名称(或者空间名称)
  • some_tame_sync.hql 存放的是具体数据的查询SQL代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值