我是靠谱客的博主 要减肥大船,最近开发中收集的这篇文章主要介绍hive创建数据库,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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创建数据库的全部内容,希望文章能够帮你解决hive创建数据库所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部