您好,欢迎来到华拓科技网。
搜索
您的当前位置:首页Hive设置参数的三种方法

Hive设置参数的三种方法

来源:华拓科技网

Hive提供三种可以改变环境变量的方法

1.修改${HIVE_HOME}/conf/hive-site.xml配置文件;

1 <configuration>
2     <property>
3         <name>hive.metastore.warehouse.dir</name>
4         <value>/user/hive/warehouse</value>
5         <description>location of
6               default database for the warehouse</description>
7     </property>
8 </configuration>

  所有的配置都是放在<configuration></configuration>标签之间,一个configuration标签里面可以存在多个<property></property>标签。<name>标签里面就是我们想要设定属性的名称;<value>标签里面是我们想要设定的值;<description;<标签是描述在这个属性的,可以不写。绝大多少配置都是在xml文件里面配置的,因为在这里做的配置都全局用户都生效,而且是永久的。用户自定义配置会覆盖默认配置。另外,Hive也会读入Hadoop的配置,因为Hive是作为Hadoop的客户端启动的,Hive的配置会覆盖Hadoop的配置。


2.命令行参数;

在启动Hive cli的时候进行配置,可以在命令行添加-hiveconf param=value来设定参数,例如:

1 [wyp@master ~]$ hive --hiveconf mapreduce.job.queuename=queue1

这样在Hive中所有MapReduce作业都提交到队列queue1中。这一设定对本次启动的会话有效,下次启动需要重新配置。


3.在已经进入cli时进行参数声明,可以在HQL中使用SET关键字设定参数,例如:

1 hive> set mapreduce.job.queuename=queue1;

这样也能达到方法二的效果。这种配置也是对本次启动的会话有效,下次启动需要重新配置。在HQL中使用SET关键字还可以查看配置的值,如下:

1 hive> set mapreduce.job.queuename;
2 mapreduce.job.queuename=queue1

我们可以得到mapreduce.job.queuename=queue1。如果set后面什么都不添加,这样可以查到Hive的所有属性配置,如下:

01 hive> set;
02 datanucleus.autoCreateSchema=true
03 datanucleus.autoStartMechanismMode=checked
04 datanucleus.cache.level2=false
05 datanucleus.cache.level2.type=none
06 datanucleus.connectionPoolingType=DBCP
07 datanucleus.identifierFactory=datanucleus
08 datanucleus.plugin.pluginRegistryBundleCheck=LOG
09 datanucleus.storeManagerType=rdbms
10 datanucleus.transactionIsolation=read-committed
11 datanucleus.validateColumns=false
12 datanucleus.validateConstraints=false
13 datanucleus.validateTables=false
14  
15 ............................

  上述三种设定方式的优先级依次递增。即参数声明覆盖命令行参数,命令行参数覆盖配置文件设定。

注意某些系统级的参数如log4j相关的设定必须采用前两种方法,因为在启动的时候就已经完成初始化操作了。可以参见

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo6.cn 版权所有 赣ICP备2024042791号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务