大家在使用shell脚本调用hive命令的时候,发现hive的中间过程竟然打印到错误输出流里面,这样在查看错误日志的时候,需要过滤这些没用的信息,那么可以使用如下的配置参数。

set hive.session.silent=true; (默认是false)

例如:

hive> select from_original,pv from tableName where rpt_date='2014-12-08' order by pv desc limit ;
Total MapReduce jobs = 1
Launching Job 1 out of 1
Number of reduce tasks determined at compile time: 1
In order to change the average load for a reducer (in bytes):
set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
set mapred.reduce.tasks=<number>
Starting Job = job_1417682027300_928652, Tracking URL = http://l-hdpm4.data.cn6.qunar.com:9981/proxy/application_1417682027300_928652/
Kill Command = /home/q/hadoop/hadoop-2.2.0/bin/hadoop job -kill job_1417682027300_928652
Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 1
2015-01-09 11:28:07,561 Stage-1 map = 0%, reduce = 0%
2015-01-09 11:28:12,735 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1.15 sec
2015-01-09 11:28:13,766 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1.15 sec
2015-01-09 11:28:14,796 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1.15 sec
2015-01-09 11:28:15,826 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1.15 sec
2015-01-09 11:28:16,859 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1.15 sec
2015-01-09 11:28:17,892 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1.15 sec
2015-01-09 11:28:18,925 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 2.73 sec
2015-01-09 11:28:19,958 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 2.73 sec
MapReduce Total cumulative CPU time: 2 seconds 730 msec
Ended Job = job_1417682027300_928652
MapReduce Jobs Launched:
Job 0: Map: 1 Reduce: 1 Cumulative CPU: 2.73 sec HDFS Read: 11815 HDFS Write: 83 SUCCESS
Total MapReduce CPU Time Spent: 2 seconds 730 msec
OK
suggest
ts_hotcity
suggest2
mps_remdd
Time taken: 18.502 seconds, Fetched: row(s)

不过我们需要的信息就最后面那么几行,可以如此设置

hive> set hive.session.silent=true;
hive> select from_original,pv from tableName where rpt_date='2014-12-08' order by pv desc limit ;
suggest
ts_hotcity
suggest2
mps_remdd

大家可能会有两个疑问:

1、hive在哪&怎么将info和warning信息打印到标准错误流里面的?

那么给大家看一段代码(org.apache.hadoop.hive.cli.CliDriver):

    try {
ss.out = new PrintStream(System.out, true, "UTF-8");
ss.info = new PrintStream(System.err, true, "UTF-8");
ss.err = new CachingPrintStream(System.err, true, "UTF-8");
} catch (UnsupportedEncodingException e) {
return 3;
}

可见,使用的是System.err方法。

2、为什么需要打印到错误输出流里面

我的理解是便于命令行获取结果,并经这些内容要输出,如果放到标准输出里面,和结果就混淆了

hive在命令行消除进度等错误信息的更多相关文章

  1. 一个简单、易用的Python命令行(terminal)进度条库

    eprogress 是一个简单.易用的基于Python3的命令行(terminal)进度条库,可以自由选择使用单行显示.多行显示进度条或转圈加载方式,也可以混合使用. 示例 单行进度条 多行进度条 圆 ...

  2. [Spark][Hive]Hive的命令行客户端启动:

    [Spark][Hive]Hive的命令行客户端启动: [training@localhost Desktop]$ chkconfig | grep hive hive-metastore 0:off ...

  3. gradlew 命令行 build 调试 构建错误 Manifest merger failed MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  4. Hive Beeline 命令行参数

    [hadoop@hive ~]$ beeline --help[中文版] The Beeline CLI 支持以下命令行参数: Option Description --autoCommit=[tru ...

  5. 分区表,桶表,外部表,以及hive一些命令行小工具

    hive中的表与hdfs中的文件通过metastore关联起来的.Hive的数据模型:内部表,分区表,外部表,桶表受控表(managed table):包括内部表,分区表,桶表 内部表: 我们删除表的 ...

  6. Python多线程同步命令行模拟进度显示

    最近在一个Python(3.5)的小项目中需要用到多线程加快处理速度,同时需要显示进度,于是查了些资料找到几个实现方法:线程池的map-reduce和Queue结合线程的实现.这里简单的实例介绍一下Q ...

  7. dos命令行运行.class源文件错误解决办法

    dos命令行运行java源文件 public static void main(String[] args) throws IOException { // TODO Auto-generated m ...

  8. laravel 命令行输出进度条

    有时候我们想在命令行执行一些耗时的命令,我们可以利用 symfony 提供的进度条相关的类,来输出一个进度条,显示当前的处理进度. 参考:http://symfony.com/doc/current/ ...

  9. 通过命令行运行java出现"错误: 找不到或无法加载主类 "解决办法

    首先在命令行运行不需要写package路径, 而在ide中一般是有路径的 so举例说明 例如程序名为HelloWorldTest.java,程序中含有package helloWorld语句,而该包位 ...

随机推荐

  1. Python3-RabbitMQ 3.7.2学习——Hello World(二)

    RabbitMQ环境搭建好了,接下来就是学习编程的入门级hello world. 在运行程序前,要先确保开启RabbitMQ服务 然后安装pika,命令:pip install pika 1.创建一个 ...

  2. 步步为营-36-ADO.Net简介

    与数据库进行连接交互 方法一 #region 01连接对象 //01 连接字符串 string connstr = "server=.;uid=sa;pwd=sa;database=Demo ...

  3. HDU 1029 某个数出现的次数大于等于(N+1)/2的是哪个 map水题

    题意:输入n个数 n为奇数 问某个数出现的次数大于等于(N+1)/2的是 哪个 输出来Sample Input51 3 2 3 3111 1 1 1 1 5 5 5 5 5 571 1 1 1 1 1 ...

  4. [CQOI2017]老C的任务

    题解: 裸的主席树吧 要想避免带修主席树的话先排序一下吧

  5. 自适应阈值二值化之最大类间方差法(大津法,OTSU)

    最大类间方差法是由日本学者大津(Nobuyuki Otsu)于1979年提出的,是一种自适应的阈值确定的方法,又叫大津法,简称OTSU.它是按图像的灰度特性,将图像分成背景和目标2部分.背景和目标之间 ...

  6. 版本控制系统 git 之基础讲解

    很久之前就用起了git,但都是用在从github上clone项目上,或者hexo的博客提交上,直到前段时间加入了学校的技术中心,需要用git进行文件管理,才去了解了下git的具体使用方式. 什么是gi ...

  7. [洛谷P3014][USACO11FEB]牛线Cow Line (康托展开)(数论)

    如果在阅读本文之前对于康托展开没有了解的同学请戳一下这里:  简陋的博客    百度百科 题目描述 N(1<=N<=20)头牛,编号为1...N,正在与FJ玩一个疯狂的游戏.奶牛会排成一行 ...

  8. 添加js,css 版本号?v= hash

    node_modules设置 a.打开 node_modules\gulp-rev\index.js 第144行 manifest[originalFile] = revisionedFile; 更新 ...

  9. 利用django信号实现计数功能

    本文主要知识点: 1.使用Django的signals来获取Model的新建/删除操作更新 2.使用数据库的select for update来正确处理并发的数据库操作 3.使用redis的sorte ...

  10. BZOJ.2242.[SDOI2011]计算器(扩展欧几里得 BSGS)

    同余方程都不会写了..还一直爆int /* 2.关于同余方程ax ≡b(mod p),可以用Exgcd做,但注意到p为质数,y一定有逆元 首先a%p=0时 仅当b=0时有解:然后有x ≡b*a^-1( ...