hive创建数据库
create database IF NOT EXISTS sip_data_drc COMMENT '测试数据库' LOCATION '/tmp/hive/root/' WITH DBPROPERTIES ('creater'='liuzd','date'='20191010');
IF NOT EXISTS:如果不存在则创建
COMMENT:添加注释
LOCATION:指定hdfs存放路径
WITH DBPROPERTIES:添加自定义属性
hive 启动服务命令及连接
启动元数据服务
./hive --service metastore &
启动server
./hive --service hiveserver2 -hiveconf hive.server2.thrift.port=10000 &
连接hive服务
beeline -u "jdbc:hive2://主机名:端口/default;hive.server2.proxy.user=hive"
查询数据库信息
desc database extended sip_data_drc;
删除数据库
drop database sip_data_drc CASCADE;
数据库切换
use sip_data_drc
常用数据类型
int:整型
bigint:长整型
float:浮点型
double:双精度
string:字符串
创建hive表
外部表
CREATE EXTERNAL TABLE IF NOT EXISTS resource
(id int COMMENT '编号',name string COMMENT '姓名')
COMMENT '人员表'
STORED AS TEXTFILE
LOCATION '/user/hdfs/'
内部表
CREATE TABLE IF NOT EXISTS person
(id int COMMENT '编号',name string COMMENT '姓名')
COMMENT '人员表'
STORED AS TEXTFILE;
临时表
CREATE TEMPORARY TABLE IF NOT EXISTS person_tmp
(id int COMMENT '编号',name string COMMENT '姓名')
COMMENT '人员临时表'
STORED AS TEXTFILE
LOCATION '/user/hdfs/';
EXTERNAL:创建外部表的关键字,默认是内部表
comment:添加注释,跟在字段后就是字段的注释,跟在表后就是表的注释
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t':指定加载数据的列分隔符为制表符
location:指定表数据存放路径
like方式创建表,复制表结构
CREATE external table table_test1 like hive_table location '/user/hive/warehouse/test.db/emp';
删除表
DROP TABLE [IF EXISTS] table_name [PURGE];
如果被删除的表有视图引用,在删除时不会警告,需要手动检查或重建视图
如果指定了PURGE,删除表时数据会从HDFS上完全清除,而不会转入回收站
insert方式插入数据(追加)
insert into new_table select * from hive_table;
insert方式插入数据(覆盖)
insert overwrite new_table select * from hive_table;
注:hive_table和new_table结构要一致,字段顺序要一致。
加载hdfs文件到hive
LOAD DATA INPATH '/user/hive/warehouse/ts_drc_catalog_resource_20191010.txt' OVERWRITE INTO TABLE table_resource;
本文详细介绍了如何在Hive中创建、启动、查询、删除数据库,以及切换数据库、使用不同类型的表、删除表、插入数据和加载HDFS文件到Hive的过程。特别提到了删除表时的数据清理和数据一致性要求。
1720

被折叠的 条评论
为什么被折叠?



