开发者学堂课程【大数据 Hive 教程精讲:Apache Hive--DDL--创建表--双分区表&小结】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/90/detail/1370
Apache Hive--DDL--创建表--双分区表&小结
内容介绍:
一、课堂笔记
一、课堂笔记
1、hive 建立一张表跟已经存在的结构化的数据文件产生映射关系
映射成功之后,就可以通过写 sql 来分析这结构化的数据避免了写 mr 程序的麻烦
2、数据库---》/user/hive/warehouse下的一个文件夹对应
表---》数据库文件夹下面的子文件夹/user/hive/warehouse/itcast
.db/t_t1
表的数据位置目前不能随便存放一定要在指定的数据库表的文件夹下面
建立表的时候可能还需要指定分隔符否则有可能映射不成功
3、建表的时候一定要根据结构化数据文件的分隔符类型指定分隔符
建表的字段个数和字段类型要跟结构化数据中的个数类型一致
分隔符一般使用内置的来指定 ROW FORMAT DELIMITED 分割字段还是分割集
合等等
4、分区表字段不能够在表中已经存在
分区字段是一个虚拟的字段不存放任何数据
分区字段的数据来自于装载分区表数据的时候指定的
分区表的字段在 hdfs 上的效果就是在建立表的文件夹下面又创建了子文件
这样的目的把数据的划分更加细致减少了查询时候全表扫描的成本只需要按照指定的分区扫描数据并显示结果即可
zhangsanbeijing ,shanghai,tianjin,hangzhou
wangwushanghai,chengdu , wuhan ,haerbin
create table complex_array(name string ,work _locations array<string>)
ROw FORMAT DELIMITED FIELDS TERMINATED BY '\t’
COLLECTION ITEMS TERMINATED BY '
,
';
create table t_user(id int,
name string) partitioned by (country string) row format delimited fields terminat
LOAD DATA local INPATH '/root/hivedata/5.txt’
INTO rABLE t_user partition (country='USA');
create table day_hour_table (id int,content string) partitioned by (dt string,hour string)
LOAD DATA local INPATH '/root/hivedata/5.txt ' INTO PABE. t_user partition (country='USA ') ;