Hive(2)-Hive安装及简单使用 Hadoop 3.1.3伪分布式环境安装Hive 3.1.2的异常总结

  本文的安装版本为Hive 3.1.2,且安装为单节点。

1. 安装参考及注意事项

(1) 官网:http://hive.apache.org/

(2) 上篇博客:Hadoop 3.1.3伪分布式环境安装Hive 3.1.2的异常总结

2. 常见属性配置

(1) Hive数据仓库位置

1) default数据仓库原始位置在hdfs上,默认路径为/user/hive/warehouse

2) 在仓库目录下,没有对默认的数据库default创建文件夹。如果某张表属于default数据库,直接在数据仓库目录下创建一个文件夹

3) 修改default数据仓库原始位置(将hive-default.xml.template如下配置信息拷贝到hive-site.xml文件中)

<property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/user/hive/warehouse</value>
    <description>location of default database for the  
warehouse</description>
</property>
View Code

 (2) 查询后常用信息显示配置

1) 在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>
View Code

   (3) 参数配置方式

1) 查看当前配置: set;

2) 参数配置三种方式

a. 默认配置文件: hive-default.xml,用户自定义文件:hive-site.xml

注意:用户自定义配置会覆盖默认配置。另外,Hive也会读入Hadoop的配置,因为Hive是作为Hadoop的客户端启动的,Hive的配置会覆盖Hadoop的配置。配置文件的设定对本机启动的所有Hive进程都有效

b. 命令行参数方式

启动hive时,可以通过--hiveconf <property=value>方式进行配置,注意仅对本次hive启动有效。例如:

hive -hiveconf mapred.reduce.tasks=10;

查看参数设置:set mapred.reduce.tasks;

c. 参数声明方式

可以在HQL中使用SET关键字设定参数:hive> set mapred.reduce.tasks=100;

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

3. 简单使用

(1) 启动hive: 配置环境变量后,直接运行hive即可

(2) 查看当前数据库: show databases;

(3) 打开默认数据库: user default;

(4) 创建一张表: create table test(id int, name string);

(5) 显示数据库中有几张表: show tables;

(6) 查看简要表结构: desc student;

(7) 查看详细表结构: desc formatted student;

(8) 向表中插入数据: insert into student values(1,'ws');

(9) 查询表中数据: select * from student;

(10) 退出: quit;或exit;

4. 本地文件导入Hive

(1) 本地数据文件student.txt,内容如下:

1001    ss1
1002    ss2
1003    ss3
1004    ss4
1005    ss5
1006    ss6
1007    ss7
1008    ss8
View Code

   (2) 创建数据表,且文件分隔符为'\t':

create table if not exists student(id int, name string) row format delimited fields terminated by '\t';

(3) 加载本地

load data local inpath '/home/ws/module/hive/data/student.txt' into table student;

(4) 查询结果:

select * from student;

猜你喜欢

转载自www.cnblogs.com/mengrennwpu/p/12107026.html