hive创建数据库

本文详细介绍了如何在Hive中创建、启动、查询、删除数据库,以及切换数据库、使用不同类型的表、删除表、插入数据和加载HDFS文件到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;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值