Hive配置

使用元数据访问的方式连接Hive

  1. 在hive-site.xml文件中添加如下配置
<!-- 指定存储元数据要连接的地址 -->
<property>
    <name>hive.metastore.uris</name>
    <value>thrift://ip:9083</value>
</property>
  1. 启动metastore
    hive --service metastore
    注意:启动后窗口不能再操作,需要打开一个新的shell窗口

  2. 启动hive
    bin/hive

使用JDBC方式访问Hive

  1. 在hive-site.xml文件中添加如下配置
<!-- 指定hiveserver2连接的host -->
<property>
    <name>hive.server2.thrift.bind.host</name>
    <value>ip</value>
</property>

<!-- 指定hiveserver2连接的端口号 -->
<property>
    <name>hive.server2.thrift.port</name>
    <value>10000</value>
</property>
  1. 启动hiveserver2
    bin/hive --service hiveserver2

  2. 启动beeline客户端
    bin/beeline -u jdbc:hive2://ip:10000 -n test

  3. 看到如下界面


    image.png

Hive常用交互命令

  1. -e 不进入hive的交互窗口执行SQL语句
    bin/hive -e "select id from student"

  2. -f 执行脚本中的SQL语句
    (1)在/opt/module/hive下创建datas目录并在datas目录下创建hivef.sql文件
    touch hivef.sql
    (2)文件中写入正确的SQL语句
    select id from student
    (3)执行文件中的SQL语句
    bin/hive -f /opt/module/hive/datas/hivef.sql

Hive其他操作命令

  1. 退出hive窗口
exit
quit
  1. 在hive cli命令窗口中如何查看hdfs文件系统
    dfs -ls /;

  2. 查看在hive中输入的所有历史命令
    (1)进入到当前用户的根目录
    (2)查看.hivehistory文件
    cat .hivehistory

Hive常见属性配置

Hive运行日志信息配置

  1. Hive的log默认存放在/tmp/root/hive.log目录下
  2. 修改hive的log存放日志到/opt/module/hive/logs
    (1)修改/opt/module/hive/conf/hive-log4j2.properties.template文件名称为hive-log4j2.properties
    (2)在hive-log4j2.properties文件中修改log存放位置
hive.log.dir=/opt/module/hive/logs

打印当前库和表头

在hive-site.xml中假如如下配置

<property>
    <name>hive.cli.print.header</name>
    <value>true</value>
</property>

<property>
    <name>hive.cli.print.current.db</name>
    <value>true</value>
</property>

参数配置方式

  1. 查看当前所有的配置信息
    set
  2. 参数的配置三种方式
    (1)配置文件方式
    默认配置文件:hive-default.xml
    用户自定义配置文件:hive-site.xml
    注意:用户自定义配置会覆盖默认配置。另外,Hive也会读入Hadoop的配置,因为Hive是作为Hadoop的客户端启动的,Hive的配置会覆盖Hadoop的配置。配置文件的设定对本机启动的所有Hive进程都有效

(2)命令行参数方式
启动Hive是,可以再命令行添加-hiveconf param=value来设定参数
例:

bin/hive -hiveconf mapred.reduce.tasks=10

注:仅对本次hive启动有效

(3)参数声明方式
可以再HQL中使用SET关键字设定参数
例:

set mapred.reduce.tasks=100;

上述设定方式的优先级一次递增。即配置文件<命令行参数<参数声明。注意某些系统级的参数,例如log4j相关的设定,必须用前两种方式设定,因为那些参数的读取在会话建立以前已经完成了

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 2.1 Hive安装地址 1)Hive官网地址: http://hive.apache.org/ 2)文档查看地址...
    码农GG阅读 448评论 0 0
  • 一、Hive基本概念 Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提...
    CJ21阅读 1,765评论 0 13
  • 1. 什么是Hive Hive:由Facebook开源用于解决海量结构化日志的数据统计。Hive是基于Hadoop...
    白纸糊阅读 3,267评论 0 1
  • 解压JDK [root@iz8vbbxvvkohgikc3mzmknz ~]# tar -xzvf jdk-8u2...
    醉流年_ee73阅读 209评论 0 0
  • 一、Hive简介 1.1 Hive是什么 由Facebook开源的一款基于hadoop的用于统计海量结构化数据的一...
    这一刻_776b阅读 3,546评论 0 1