use test;
show tables;
create table if not exits psn1
(
id int,
name string,
habby ARRAY<string>,
address MAP<string,string>
)ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
COLLECTION ITEMS TERMINATED BY '-'
MAP KEY TERMINATED BY '.'
insetr into table pas2 select * from ps1;
insert overwrite table select * from ps1;
确认一下表是否创建成功
desc psn1;
将数据加载到hive表中
LOAD DATA LOCAL INPATH '/root/data' INTO TABLE psn1;
查询数据是否插入成功
select * from psn1;
支持多个查询语句进行插入
FROM psn1
INSERT INTO TABLE result
select 1,count(id)
select 2,count(name)
内部表、外部表和临时表
内部表
管理元数据和HDFS上的数据,如果drop hdfs也会删除
外部表
只管理元数据信息,drop后,HDFS数据不会删除
需要配置location信息,数据文件存在配置路径不会加上tablenanme
临时表
只对当前的session有效。退出后则删除
临时表优先级是高于其他表的(优先查询)
关键词是TEMPORARY
CTL和CTAS
create table like 只创建表结构
create table as select 创建表结构,用MapReduce将数据转到hive来管理-数据格式(hive的分隔符)
总结
hdfs上的数据load进到hive里面,将HDFS的数据mv到hive的目录中
扩展