Hive命令操作db例子

本文详细介绍了Hive的各种操作,包括创建表的三种方式(普通、CTAS、LIKE)、数据库和表的DDL操作,如查看、描述、删除、修改等。此外,还讲解了数据加载(LOAD DATA、INSERT)和查询操作,强调了分区表、分桶表的创建和管理,以及动态分区插入的注意事项。内容涵盖了Hive的常用命令和操作技巧,对于理解和使用Hive进行大数据处理非常有帮助。
摘要由CSDN通过智能技术生成

1、创建表的方式

              1、普通方式:(默认字段分割符是ascii码的控制符\001,默认存储方式是textfile);

              语法:create [external] table [if not exists] table_name( col_name data_type comment col_comment,...)

                                 [comment table_comment]                            -- 表的描述

                                 [partitioned by (col_name data_type,...)]      -- 分区表(分区字段一定不要在表字段中出现)

                                 [

                                             clustered by(col_name)          -- 指定分桶字段(分桶字段必须是表字段中的一部分)

                                             [sorted by(col_name [ASC|DESC]),...] -- 是否分桶有序,如有序,则按照哪个字段排序

                                             into num_buckets  buckets  -- 指定分桶个数

                                 ]   分桶

                                 [row format delimited fields terminated by '\t' lines terminated by '\n']   -- 行列分隔符

                                 [stored as file_format]     -- file_format(textfile:普通的文本文件格式(默认);sequenceFIle:序列化文件;...)

                                 [location hdfs_path]        -- 创建表(不管内部表或外部表)的时候可以指定表的路径,不管是内部表还是外部   表,都可以指定hdfs的存储路径;最佳实战:如果一份数据已经存储在hdfs上,并且要被多个用户或客户端使用,最好创建外部表,反之创建内部表;如果不指定则存储在默认的目录默认的仓库中

                                 [tblproperties (name=value)]

创建表:  https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-Create/Drop/Alter/UseDatabase

              2、CTAS(CREATE TABLE AS SELECT);

                    create table page_view_ctas  stored by rcfile

                    as

                    select * from page_view sort by viewTime,userid;

                    注意:创建的表不能是外部表、分区表、桶表;sql会执行MR作业。

              3、LIKE(与ctas的区别,like只是拷贝表结构不复制表的数据,ctas拷贝结构和数据执行mr);

                   create table page_view_like like page_view;

2、例子

           a、数据库和表相关操作(DDL)

                  1、库:

                  show databases; # 查看某个数据库

                  show databases like 'hive*';

                  use 数据库;# 进入某个数据库

                 select current_database(); # 查看当前使用的库

                 desc database [extended] 数据库;#  查询库的详细信息

                 desc database db_name;#  查询库的详细信息

                 drop database 数据库; # 删除数据库(前提:里面有表时删除不掉的)

                 drop database 数据库 restrict;//默认方式(不急连删除)

                 drop database 数据库 cascade;//级联删除一个非空的数据库

                 2、表:

                  show tables;# 展示所有表

                  desc table_name;# 显示表结构

                  desc extended table_name;# 显示表结构

                  desc formatted table_name;

                  show create table table_name; # 显示创建表的结构

                  show partitions 表名;  show partitions 表名 partition(city="beijing"); # 查看hive表的分区

                  show functions;  查看hive函数列表

                  desc function function_name;  查看hive函数使用

                  desc function extended  function_name;  查看hive函数使用

                  truncate table table_name; # 清空表数据

                  show tables in hive; # 查看库中表

                  drop table table_name; #删除表

                 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值