天天看点

32-大数据-hive 创建表

语法:

CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name

[(col_name data_type [COMMENT col_comment], …)]

[COMMENT table_comment]

[PARTITIONED BY (col_name data_type [COMMENT col_comment], …)]

[CLUSTERED BY (col_name, col_name, …)

[SORTED BY (col_name [ASC|DESC], …)] INTO num_buckets BUCKETS]

[ROW FORMAT row_format]

[STORED AS file_format]

[LOCATION hdfs_path]

•CREATE TABLE 创建一个指定名字的表。如果相同名字的表已经存在,则抛出异常;用户可以用 IF NOT EXIST 选项来忽略这个异常

•EXTERNAL 关键字可以让用户创建一个外部表,外部表若没有指定location,会在默认目录/user/hive/warehouse/下

•LIKE 允许用户复制现有的表结构,但是不复制数据

•COMMENT可以为表与字段增加描述

•PARTITIONED BY 指定分区

•ROW FORMAT DELIMITED [FIELDS TERMINATED BY char]

•LOCATION指定表在HDFS的存储路径

一份数据已存储在HDFS上,并且要被多个用户或者客户端使用,最好创建外部表。反之,最好创建内部表。

如果不指定,按照默认的规则存储在默认的仓库路径中。

1、创建默认的内部表

create table student(id int) row format delimited fields terminated by “,”;

2、外部表

create external table if not exists student_ext (id int) row format delimited fields terminated by ‘,’ location ‘/tmp/xxq/student_ext’;

3、查看表

模糊匹配t show tables ‘*t’;

查看其他数据库中的表 show tables in dbname;

继续阅读