Hive Job log解析——perl脚本
来源:互联网 发布:类似youcam的软件 编辑:程序博客网 时间:2024/06/06 04:20
Hive Job log解析
cat parseHiveJobLog.pl
use Data::Dumper;if (!defined($ARGV[0]) or $ARGV[0] eq ''){ print "useage: perl parseJobHistory.pl filename\n"; exit;}my $filename = $ARGV[0];my $json = new JSON;my %QueryStatus;my %TaskStatus;open FILE, "<$filename" or print("can't open $filename\n");while(<FILE>){ chomp; my $spacepos = index($_,' '); my $type = substr($_,0,$spacepos); my $info = substr($_,$spacepos+1,length $_); if(lc($type) eq 'querystart' || lc($type) eq 'queryend') { my %parseBuffer; $info =~ s/:" /:"/g; while($info =~ s/(\w+?)="(.*?)"( |$)//) { $parseBuffer{$1} = $2; } my $queryid = $parseBuffer{'QUERY_ID'}; foreach my $key ( keys %parseBuffer ) { next if $key eq 'QUERY_ID'; $QueryStatus{$queryid}{$key} = $parseBuffer{$key}; } }elsif(lc($type) eq 'taskstart' || lc($type) eq 'taskend') { my %parseBuffer; $info =~ s/:" /:"/g; while($info =~ s/(\w+?)="(.*?)"( |$)//) { $parseBuffer{$1} = $2; } my $queryid = $parseBuffer{'QUERY_ID'}; my $taskid = $parseBuffer{'TASK_ID'}; foreach my $key ( keys %parseBuffer ) { next if $key eq 'QUERY_ID' || $key eq 'TASK_ID'; if($key eq 'TASK_COUNTERS') { my %taskcounters; while ($parseBuffer{$key} =~ s/(.*?):(.*?)(,|$)//) { $taskcounters{$1} = $2; } foreach my $ckey ( keys %taskcounters ) { $TaskStatus{$queryid}{$taskid}{$key}{$ckey} = $taskcounters{$ckey}; } }else { $TaskStatus{$queryid}{$taskid}{$key} = $parseBuffer{$key}; } } } %parseBuffer = {};}close(FILE);print Dumper %QueryStatus;print Dumper %TaskStatus;
- Hive Job log解析——perl脚本
- Hadoop Job History解析——perl脚本
- 通过例子解析perl脚本
- 使用 perl 快速解析 apache log
- Hive源码解析—之—Hive的入口
- Hive 源码解析—之—Hive的入口
- Hive源码解析—之—Hive的入口:
- 批量显示JOB Log
- hive并行执行job
- hive并行执行job
- hive并行执行job
- hive job oom问题
- perl 脚本
- perl脚本
- Perl Log::FileSimple
- JOB JOB JOB——优先队列 + 贪心
- hive 脚本
- Hive 脚本
- 设计模式之策略模式
- 新起点
- 无法删除服务器 'old_server_name',因为该服务器用作复制过程中的发布服务器。 (Microsoft SQL Server,错误: 20582)
- 最全的HTTP头部信息分析
- 38_日志工具commons-logging与Log4J
- Hive Job log解析——perl脚本
- shell相关概念
- 遍历文件夹windows
- 原子性
- C语言之memmove函数
- Apache Felix
- linux man命令加数字
- Android 的消息队列模型
- 在后台运行Python脚本服务