位置:首页 > 九章学会Hive - Hive参数获取 >

九章学会Hive - Hive参数获取

作者:小牛君|发布时间:2017-06-15

小牛学堂的课程大纲最近进行了再一次升级,并且同时推出Java大数据平台开发班、Python爬虫与数据挖掘班、Spark项目班、Spark大神班、机器学习算法实战班、BI数据分析实战班, 目前这类人群凤毛麟角,导致这个行业的平均薪资极高,为此小牛学堂集合了行业的诸多大牛开设对应班级,为想学习的同学提供机会!
如果想了解详细情况,请联系 今日值班讲师 或者直接加入千人QQ群进行咨询:Spark大数据交流学习群613807316

以下是本文正文:


1.  Hive参数获取

4.1启动hive cli时,增加参数

hive -hiveconf dt=2016-05-05

获取参数

Set dt;

select * from t1 where id%2==$dt

 

4.2hive cli or Beeline command

重置所有配置,(不适用hiveconf: 为前缀的变量)

reset

打印所有用户变量

set

打印所有hivehe hadoop的配置

set -v

 

ADD { FILE[S] | JAR[S] | ARCHIVE[S] } <filepath1> [<filepath2>]*

LIST { FILE[S] | JAR[S] | ARCHIVE[S] } [<filepath1> <filepath2> ..]

DELETE { FILE[S] | JAR[S] | ARCHIVE[S] } [<filepath1> <filepath2> ..]

例:

add file /root/t1;

list files;

 

 

 

4.3常见参数

显示列名称

set hive.cli.print.header=true;

显示数据库名称

set hive.cli.print.current.db=true;

本地模式

set hive.exec.mode.local.auto=true;

 

开启分桶

set hive.enforce.bucketing=true;

 

开启动态分区支持

set hive.exec.dynamic.partition=true;

动态分区的模式,默认strict,表示必须指定至少一个分区为静态分区,nonstrict模式表示允许所有的分区字段都可以使用动态分区。

set hive.exec.dynamic.partition.mode=nonstrict;

允许所有的分区列都是动态分区列

set hive.exec.dynamic.partition.mode=nostrict;

在每个执行MR的节点上,最大可以创建多少个动态分区,如果超过了这个数量就会报错

hive.exec.max.dynamic.partitions.pernode (缺省值100):

在所有执行MR的节点上,最大一共可以创建多少个动态分区

hive.exec.max.dynamic.partitions (缺省值1000):

整个MR Job中,最大可以创建多少个HDFS文件

hive.exec.max.created.files (缺省值100000):

 

对分区表查询必须加分区过滤,不允许笛卡尔积查询,order by 后面必须有limit限制

set hive.mapred.mode=strict;

不严格模式

set hive.mapred.mode=nostrict;

 

开启任务并行执行

set hive.exec.parallel=true;

 

 

开启map join

set hive.auto.convert.join=true;

set hive.mapjoin.smalltable.filesize=25000000;

 

忽略MAPJOIN标记

set hive.ignore.mapjoin.hint=true;

 

 

4.4Hive cli更多功能

hive会自动运行$HOME/.hiverc文件

例如当前用户是root

可以在/root/目录下,创建一个.hiverc文件,内容如下:

set hive.cli.print.header=true;

set hive.cli.print.current.db=true;

set hive.exec.mode.local.auto=true;

 

Hive会将最近100行命令记录到$HOME/.hivehistory

 

在命令前加!,可执行常见的shell命令

例:

!echo "dog";

!pwd;

!cat /tmp/payroll/00000_0

 

可直接查看hdfs文件

dfs ls /;

 

hive开启分布式锁

hive-site.xml中配置

<property>

  <name>hive.support.concurrency</name>

  <value>true</value>

</property>

<property>

  <name>hive.zookeeper.quorum</name>

  <value>mini1:2181,mini2:2181,mini3:2181</value>

</property>



了解更多详情请联系 今日值班讲师 或者直接加入千人QQ群进行咨询:Spark大数据交流学习群613807316

分享到: