hive多用户建表默认数据库

hive多用户建表默认数据库,第1张

你的问题 是不是能描述的详细一点? 我只能猜测一下,你是不是想集成hive的元数据库,可以实现多用户,一般在这种情况下 建议集成mysql作为hive的元数据库,如果你需要具体的步骤,可以留下邮箱,我之前写过一份关于这方面的材料可以打给你,另外你在集成mysql作为元数据仓库的时候应该注意 hive配置文件里面的 *** 作用户配置 在mysql应该存在,另外在mysql里注意要去的匿名用户,否则会报 权限不足异常

创建库

create databases if not exists 库名;

删除库

drop databases 库名 restrict; restrict 默认关键字(可不写)只能删除空库,里边没有表的;

drop databases if exists 库名

drop databases 库名 cascade; cascade强制删除

查看库的列表信息

show databases;

使用库

use databases;

查看正在使用的库

select  current_databases();

查看库信息

desc databases 库名;

可使用模糊查询 show databases 库名 like 'my%'

修改库

基本不用

创建表示例(hive sql)

create [external] table [if not exists] table_name (clo_name type comment "字段描述") comment  '表描述'

[partitioned by (col_name type [comment '描述'])]

[clustered by (col_name,col_name,)]

[sorted by (col_name [asc|desc],)into num_buckets buskets]

[row format row_format]

[stored as file_format]

[location hdfs_path]

关键字讲解如下:

1)external 关键字:是否创建外部表,不加时是创建内部表,加上external关键字创建的是外部表

2)partitioned by (col_name type [comment '描述']):指定分区字段 

分区表存的是不同的目录

分区表在添加数据之前先添加分区

alter table table_name add if not exists partition(col_name ='一个分区')

3)clustered by (col_name,col_name,)指定分桶字段clustered by

sorted by (col_name [asc|desc],)  into num_buckets buskets 指定排序字段

排序规则指定的是在同一个分桶内的排序规则

into num_buckets buskets;指定分桶个数num_buckets

判断依据:根据建表语句模板字段后边是否跟type类型,因为一个字段在建表语句中不会建两次

4)[row format row_format] 指定分隔符

delimited fields terminated by '' 指定列分隔符

lines terminated by '' 指定行分隔符

5)[stored as file_format] 指定最终表数据的存储格式

textfile 文本格式 默认的格式

rcfile 行列结合的格式

parquet 压缩格式

6)[location hdfs_path] 指定hive 上表的hdfs上的存储路径

不指定的话,存储在配置的路径下      

没指定没配置,默认在  /user /hive /warehouse

复制表,复制表结构不复制数据

 create table t1 like t2;

查看表

show tables;

show tables in 库名;

show tables like 's%';

查看表信息

desc 表名:显示表字段

desc extended 表名:显示表的详细信息(由左至右,连续在一起)

desc formatted 表名:格式化显示表的详细信息(规整的,一行一行的)

删除表

drop table if exists 表名;

清空表

truncate table 表名;清空表中的数据,保留表结构

修改表 alter

修改表名称

alter table 表名 rename to 新表名;

修改表字段信息

    1)添加字段

            alter table 表名 add columns (col_name type,col_name type);

所有新的字段一定要指定类型

    2)修改字段,修改字段类型

            alter table 表名 chage 原始字段 新字段 新字段类型;

            string 类型相当于数值类型属于大类型

            hive122中没有限制,各种类型之间都可以进行修改

    3)替换列

            alter table table_name replacr columns (in int,name string);由原始表全部字段替换成两个

修改表分区信息

    1)添加分区

        alter table table_name add if not exists partition(city='beijing')

        添加分区的过程中,还可以指定分区的存储路径

        alter table table_name add if not exists partition(city='beijing') location '/user/beijing'

    2)修改分区 修改分区的存储路径

        alter table table_name  set partition(city='shenzhen') location '/user/shenzhen'

    3)删除分区

        alter table table_name drop if exists partition(city='beijing')

查看分区信息,针对分区表

show partitions table_name;

show partitions table_name partiton(city='beijing')

DDL和DML *** 作如下

>

以上就是关于hive多用户建表默认数据库全部的内容,包括:hive多用户建表默认数据库、数据库DDL *** 作、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9439148.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存