获取hive日志比较麻烦,通常的做法是执行shell命令获取日志,但是这样有一些问题,比如:输出的结果需要程序解析等,可以改进hive,采用jdbc的方式执行hive sql,并且把输出到控制台的日志保存到redis,其中kill job的命令日志用不同的key缓存到redis,如此可很方便获取查询结果、日志、kill命令。
具体实现方式如下:
修改hive-exec-0.12.0的如下几个类:
1、org.apache.hadoop.hive.ql.Driver
2、org.apache.hadoop.hive.ql.DriverContext
3、org.apache.hadoop.hive.ql.exec.mr.ExecDriver
4、org.apache.hadoop.hive.ql.exec.mr.HadoopJobExecHelper
5、org.apache.hadoop.hive.ql.exec.mr.MapRedTask
在Driver的execute()方法开始执行时以sql的MD5值作为key缓存到redis,redis的数据结构采用list,并且在DriverContext中增加一个sqlMD5的属性,通过driver上下文对象在后续的ExecDriver、HadoopJobExecHelper和MapRedTask中实现共享。
在执行sql和生成的MR过程中参数的日志不断存入到redis,页面可通过ajax的方式每隔1秒从应用服务端获取1次hive日志,应用服务端根据sql的MD5值从redis读取日志信息,读一条删一条。
可通过sql的MD5值加一个后缀的方式单独缓存kill MR job的cmd命令,这样业务应用可以很方便的获取到kill命令,停止hive。
redis的服务ip配置到hive-site.xml中。
该方式有一些问题,比如:如果同时多次执行同一个sql,则会导致日志信息相互干扰,有一些应用场景的限制。
注:日志中没有kill的命令是因为我故意没有输出,不显示给用户,通过另外一个key缓存到redis了,在停止时使用。
相关推荐
hive日志系统实战
本资源适合hive使用log4j2作为日志去开启metastore审计日志,那么本文章就值得(不管是hive2还是hive3)
一种基于Hive日志分析的大数据存储优化方法,王正也,李书芳,从2002年起,某金融机构积累了大量的银行卡支付日志数据。随着业务的不断增长,数据集高速增长,原生的Hive的查询性能已经不能令人�
这是我的一份课程作业,需要事先下载搜狗日志文件。有问题,可以问百度。里面也参考了其他博客主的文章,在最后有相关链接。
该实验数据主要用于Hive进行Apache Web日志的统计分析学习使用,数据量不是大。
2.hive源表:创建hive源表,每个shell脚本对应一个hive源表 #!/bin/bash source /etc/profile CUR_DATE=`date +%Y%m%d` echo "-- CUR_DATE:"$CUR_DATE /opt/cloudera/parcels/CDH/bin/hive (进入hive) USE ...
生成hive建表语句
hive metastore hive metastore是hive的元数据管理服务,实际应用中很多第三方框架需要访问metastore服务,如spark,impala等。同样hive metastore也提供了java接口。 使用 import org.apache.hadoop.hive.conf....
可以从hive元数据生成建表语句的资源。包括表结构、分区等信息
针对传统分布式模型在海量日志并行处理时的可扩展性和并行程序编写困难的问题, 提出了基于Hive的Web海量搜索日志分析机制。利用HQL语言以及Hadoop分布式文件系统(HDFS)和MapReduce编程模式对海量搜索日志进行分析...
使用hive3.1.2和spark3.0.0配置hive on spark的时候,发现官方下载的hive3.1.2和spark3.0.0不兼容,hive3.1.2对应的版本是spark2.3.0,而spark3.0.0对应的hadoop版本是hadoop2.6或hadoop2.7。 所以,如果想要使用高...
hive hive hive hive hive hive hive hive hive hive hive hive
利用Hive进行复杂用户行为大数据分析及优化案例(全套视频+课件+代码+讲义+工具软件),具体内容包括: 01_自动批量加载数据到hive 02_Hive表批量加载数据的脚本实现(一) 03_Hive表批量加载数据的脚本实现(二) ...
通过shell脚本,批量把一个库下面的表结构全部导出,在开发环境执行过。
java根据excel生成 hive建表语句 可以根据自己的格式修改
jdbc连接hive数据库的jar包.整理可用合集.
Hive表生成工具,Hive表生成工具Hive表生成工具
hive-jdbc
1 Hive 概念与连接使用: 2 2 Hive支持的数据类型: 2 2.1原子数据类型: 2 2.2复杂数据类型: 2 2.3 Hive类型转换: 3 3 Hive创建/删除数据库 3 3.1创建数据库: 3 3.2 删除数据库: 3 4 Hive 表相关语句 3 4.1 Hive ...