解决:提交的hive任务如何找回其提交的语句

5 篇文章 1 订阅

只记得表名或者该任务的一些关键字,忘记了自己创建表时候的语句,可以从hive的执行日志中获取原始数据。特别适合定位该测试表是怎么创建的,或者定位别人表创建的由来

首先要确认提交的hive任务是在哪一台服务器提交的,一般默认hive的执行日志会放在提交任务的机器的/data/hive/tmp/{用户名}目录下

  • 首先需要切换到root用户,然后切到根目录,不清楚目录结构的请看:Linux目录结构和常用命令

  • 然后切换到hive的日志目录,/data/hive/tmp/{用户名},这里的用户名就是你提交hive时候的登录账户

  • 然后这边会有一系列的执行日志,使用ll -lrt可以看到执行的hive日志,这里的日志记录了使用这台机器提交的hive任务,一天一份,你的7.30提交的hive记录就在这个hive.log.2018-07-30里面

    -rw-rw-r--   1 user user  57047158 Jul 31 22:27 hive.log.2018-07-30
    -rw-rw-r--   1 user user  21125631 Aug  1 14:48 hive.log.2018-07-31
    -rw-rw-r--   1 user user  11904515 Aug  2 09:55 hive.log.2018-08-01
  • 使用 find . -type f | xargs grep 'database.table' ,这句话的意思是找到当前目录下,所有文件中包含database.table语句的文件,当然你描述的越清楚,检索的精度越高,如你明确知道自己的是建表语句,那么可以使用 create table database.table as select进行搜索了,这样就能找到那天的日志了,然后把日志拉下来,解析下定位下就可以溯源当时执行的任务了!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值