hive中的三种建表方法

文章目录

    • 一、直接建表
    • 二、查询建表
    • 三、like建表

一、直接建表

CREATE [EXTERNAL] TABLE [IF NOT EXISTS] employee_external (    //EXTERNAL关键字添加为外部表
    name string,
    work_place ARRAY,
    sex_age STRUCT,
    skills_score MAP,
    depart_title MAP>
)
COMMENT 'This is an external table'                            //对表的注释
ROW FORMAT DELIMITED                                      
FIELDS TERMINATED BY '|'                                       //如何分隔列(字段)
COLLECTION ITEMS TERMINATED BY ','                             //如何分隔集合和映射
MAP KEYS TERMINATED BY ':'
STORED AS TEXTFILE                                             //文件存储格式
LOCATION '/user/root/employee';                                // 数据存储路径(HDFS)

准备数据

hive中的三种建表方法_第1张图片

建表

create table if not exists test1(
     id int,
     name string
     )
     row format delimited
     FIELDS TERMINATED BY ',';

装载数据

load data local inpath '/data/test.txt' overwrite into table test1;

查看表
hive中的三种建表方法_第2张图片

建表完成

二、查询建表

将一条查询语句的结果作为一个表的内容创建

建表语句

create table 表名 as 查询语句; 

建表

create table test2 as select * from test1;

查看表2

hive中的三种建表方法_第3张图片

三、like建表

该方法只能创建表的结构 不能创建数据

建表语法

creat table 表名 like 现有表的表名;

建表

create table test3 like test1;

查看表

在这里插入图片描述
并没有数据

通过desc命令查看表的状态

hive中的三种建表方法_第4张图片

只有表结构 表数据需要后期再次添加

你可能感兴趣的:(mysql,数据库,java,hive)