Hive日志调试


  ,学这么久了,发现目前国内还没有一本完整的介绍的书籍,而且互联网上面的资料很乱,于是我决定写一些关于《》序列文章,分享给大家。我会在接下来的时间整理有关的资料,如果对Hive的东西感兴趣,请关注本博客。http://www.iteblog.com/archives/tag/hive的那些事

  在很多程序中,我们都可以通过输出日志的形式来得到程序的运行情况,通过这些输出日志来调试程序,Hive也不例外。
  在Hive中,使用的是Log4j来输出日志,默认情况下,CLI是不能将日志信息输出到控制台的。在Hive0.13.0之前版本,默认的日志级别是WARN,从Hive0.13.0开始,默认的日志级别是INFO。默认的日志存放在/tmp/<user.name>文件夹的hive.log文件中,全路径就是/tmp/<user.name>/hive.log。

  :在本地模式情况下,log文件名为”.log”,而不是”hive.log”,可以在这里看到https://issues.apache.org/jira/browse/HIVE-5528,这个bug将会在Hive0.13.0中得到解决。

  上面两种方法的设置各有优劣,方法一的设定只是对本次会话有效,下次如果还想修改日志输出级别需要重新设定,但是不是每时每刻都需要修改日志的输出级别,所以在有时需要修改输出的日志级别,有时不需要的时候可以用这种方法;方法二将日志输出级别设定到文件中去了,这个设定是对所有的用户都生效,而且每次使用HQL的时候都会输出一大堆的日志,这种情况适合那些无时无刻都需要HQL的运行日志的用户。  在《Hive几种参数配置方法》文章中我们介绍了Hive三种参数配置方法,其中就提到了某些系统级的参数,在HQL中设定是无效的。这里就是一个很好的例子。因为设定log的参数读取在会话建立以前已经完成了。这也就说,我们不能通过下面的方法来修改log4j的日志输出级别:


尊重原创,转载请注明: 转载自过往记忆(http://www.iteblog.com/)
本文链接地址: 《Hive日志调试》(http://www.iteblog.com/archives/873)
E-mail:wyphao.2007@163.com    QQ:397090770

相关内容