Hive参数操作和运行方式

Hive参数操作和运行方式

1、Hive参数操作

1.1 hive参数介绍

​ hive当中的参数、变量都是以命名空间开头的,详情如下表所示:

命名空间读写权限含义
hiveconf可读写hive-site.xml当中的各配置变量例:
hive --hiveconf hive.cli.print.header=true
system可读写系统变量,包含JVM运行参数等例:system:user.name=root
env只读环境变量例:env:JAVA_HOME
hivevar可读写例:hive -d k=v

​ hive的变量可以通过${}方式进行引用,其中system、env下的变量必须以前缀开头

1.2 hive参数的设置方式

​ 1、在${HIVE_HOME}/conf/hive-site.xml文件中参数设置

注意:会永久生效,所有的hive会话都会加载对应的配置

​ 2、在启动hive cli时,通过–hiveconf key=value的方式进行设置

​ 例如:hive --hiveconf hive.cli.print.header=true

注意:只在当前会话有效,退出会话之后参数失效

​ 3、在进入到cli之后,通过set命令设置

​ 例如:set hive.cli.print.header=true;

--在hive cli控制台可以通过set对hive中的参数进行查询设置
--set设置
	set hive.cli.print.header=true;
--set查看
	set hive.cli.print.header;
--set查看全部属性
	set;

​ 4、hive参数初始化设置

​ 在当前用户的家目录下创建**.hiverc**文件,在当前文件中设置hive参数的命令,每次进入hive cli的时候,都会加载.hiverc的文件,执行文件中的命令。

cat >> ~/.hiverc <<-EOF
set hive.cli.print.header=true;
EOF

注意:在当前用户的家目录下还会存在.hivehistory文件,此文件中保存了hive cli中执行的所有命令

2、hive运行方式

1、hive运行方式分类

​ (1)命令行方式或者控制台模式

​ (2)脚本运行方式(实际生产环境中用最多)

​ (3)JDBC方式:hiveserver2

​ ( 4)web GUI接口(hwi、hue等)

2、hive命令行模式详解

​ (1)在命令行中可以直接输入SQL语句,例如:select * from table_name

​ (2)在命令行中可以与HDFS交互,例如:dfs ls /

​ (3)在命令行中可以与linux交互,例如:! pwd或者! ls /

注意:与linux交互的时候必须要加!

3、hive脚本运行方式

--hive直接执行sql命令,可以写一个sql语句,也可以使用;分割写多个sql语句
	hive -e ""
--hive执行sql命令,将sql语句执行的结果重定向到某一个文件中
	hive -e "">aaa
--hive静默输出模式,输出的结果中不包含ok,time token等关键字
	hive -S -e "">aaa
--hive可以直接读取文件中的sql命令,进行执行
	hive -f file
--hive可以从文件中读取命令,并且执行初始化操作
	hive -i ~/hive-init.sql
--在hive的命令行中也可以执行外部文件中的命令
	hive> source file (在hive cli中运行)
	
-- 生产环境提交hive任务的方式
-- 连接的地址是hiveserver2的地址,端口是默认10000,10002是web端
beeline -u jdbc:hive2://node02:10000/data_dev -n god -e "show tables;"

-- 执行脚本
beeline -u jdbc:hive2://node02:10000/data_dev -n god -f hdfs://mycluster/hive_project/gettop/name.sql
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值