一:Hive 常见属性配置
- Hive 数据仓库位置配置
⑴Default 数据仓库的最原始位置是在 hdfs 上的:/user/hive/warehouse 路径下 。
⑵在仓库目录下,没有对默认的数据库 default 创建文件夹。如果某张表属于 default
数据库,直接在数据仓库目录下创建一个文件夹。
⑶修改 default 数据仓库原始位置(将 hive-default.xml.template 如下配置信息拷贝到
hive-site.xml 文件中)
<!-- Hive 默认在 HDFS 的工作目录 --> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property>
配置同组用户有执行权限 :
bin/hdfs dfs -chmod g+w /user/hive/warehouse - 显示当前数据库,以及查询表的头信息配置
⑴在 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>
⑵效果:
- Hive 运行日志信息配置
⑴Hive 的 log 默认存放在/tmp/kgf/hive.log 目录下(当前用户名下)。
⑵修改 hive 的 log 存放日志到/opt/module/hive/logs
a:修改/opt/module/hive/conf/hive-log4j.properties.template 文件名称为hive-log4j.properties
b:在 hive-log4j.properties 文件中修改 log 存放位置
c:重新启动hive,查看日志
二:Hive 数据类型
- 基本数据类型
- 集合数据类型
- 案例实操
⑴需求:
⑵基于上述数据结构,我们在 Hive 里创建对应的表,并导入数据。
a:创建本地测试文件 test.txt
b:Hive 上创建测试表 test
c:导入数据
⑶访问三种集合列里的数据,以下分别是 ARRAY,MAP,STRUCT 的访问方式
- 类型转化
三:DDL数据定义
- 创建数据库
注意:避免要创建的数据库已经存在错误,增加 if not exists 判断。(标准写法)
- 创建一个数据库,指定数据库在 HDFS 上存放的位置
- 修改数据库
- 查询数据库
- 删除数据库
- 管理表
⑴简介
⑵案例实操
a:普通创建表
b:根据查询结果创建表(查询的结果会添加到新创建的表中)
c:根据已经存在的表结构创建表
d:查询表的类型
- 外部表
⑴简介
⑵使用场景
⑶案例实操:分别创建部门和员工外部表,并向表中导入数据。
a:创建部门表
b:创建员工表
c:我们向表中导入数据后,数据存储在hdfs上,删除表后,数据不会删除,重新建立表后,数据会重新
关联起来。