天天看点

Hive几种参数配置方法(转载)

转自:https://www.iteblog.com/archives/871.html

Hive提供三种可以改变环境变量的方法,分别是:(1)、修改${HIVE_HOME}/conf/hive-site.xml配置文件;(2)、命令行参数;(3)、在已经进入cli时进行参数声明。下面分别来介绍这几种设定。

方法一:

在Hive中,所有的默认配置都在${HIVE_HOME}/conf/hive-default.xml文件中,如果需要对默认的配置进行修改,可以创建一个hive-site.xml文件,放在${HIVE_HOME}/conf目录下。里面可以对一些配置进行个性化设定。在hive-site.xml的格式如下:

hive.metastore.warehouse.dir

/user/hive/warehouse

location of

defaultdatabaseforthe warehouse

所有的配置都是放在标签之间,一个configuration标签里面可以存在多个标签。标签里面就是我们想要设定属性的名称;标签里面是我们想要设定的值;

方法二:

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

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

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

方法三:

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

hive> set mapreduce.job.queuename=queue1;

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

hive> set mapreduce.job.queuename;

mapreduce.job.queuename=queue1

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

hive> set;

datanucleus.autoCreateSchema=true

datanucleus.autoStartMechanismMode=checked

datanucleus.cache.level2=false

datanucleus.cache.level2.type=none

datanucleus.connectionPoolingType=DBCP

datanucleus.identifierFactory=datanucleus

datanucleus.plugin.pluginRegistryBundleCheck=LOG

datanucleus.storeManagerType=rdbms

datanucleus.transactionIsolation=read-committed

datanucleus.validateColumns=false

datanucleus.validateConstraints=false

datanucleus.validateTables=false

............................

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