工作中经常使用hive,熟练使用hvie的配置参数可以更加高效的使用Hive
Hive option:
hive -f script.hql : 从文件script.hql中的读取hql执行
hive -e ‘select * from xxx‘: 启动hive时指定执行的hql,此种方式hql会先经过shell解释,然后再用hive执行,因此需要注意hql中被shell转义的字符
hive -S :安静模式执行hql,这样标准输出中只有hql执行的结果,没有进度等信息,便于对结果进行过滤
hive -i .hiverc :指定启动的hiverc文件
hive --help:显示帮助信息
hive --serverice:启动hive service,可用的service: beeline cli help hiveserver2 hiveserver hwi jar lineage metastool rcfilecat
hive --service service_name --help: 显示hive service的帮助信息
hive --define/-d/--hivevar:命令行传递hive变量
Hive set var Option:
可用在hive命令行中查看hive配置参数和所有的变量,hive中的变量有不同的命名空间和访问权限:
hivevar:可读/可写:用户自定义变量
hiveconf: 可读/可写:hive想配置属性
system: 可读/可写:Java定义配置属性
env: 只可读: Shell环境变量
set; 显示hiveconf, hivevar,env,system中变量
set hivevar/env/system:var_name 显示具体某一个空间中的某个变量
set -v : 显示所有变量,包括hadoop相关配置
常用hive配置:
set hive.cli.print.header=true; 输出列名
set hive.cli.print.current.db=true; 输出current db
set hive.mapred.mode=nostrict; 使用nostrict模式,允许order by 而不limit
set hive.exec.mode.local.auto=true; 尽量以高效地本地模式执行hql
hive ql 注释: --command
hive执行hdfs cmd: dfs command, 类似hadoop fs command
hive执行shell:!shell_cmd
hive 历史命令:.hivehistory
hive默认配置: hivedefault.xml.template
hive log配置:hive-log4j.properties, 更改hive.root.logger=DEBUG, console可将调试信息输出到console
原文地址:http://blog.csdn.net/jinjiating/article/details/36205235