【Hive3】HQL DDL
【Hive三】HQL DDL
1. DDL
1.1 DDL语句
同MySQL的DDL类似,HQL DDL操作的元素包括数据库、表、列、视图、索引、函数、授权操作以及列出、描述数据对象的语句
1.2 创建表语句
- 通过EXTERNAL关键字可以创建外部表
- PARTITIONED BY子句用于根据字段名进行分区
- CLUSTERED BY子句
- SORTED BY子句
- SKEWED BY子句
- INTO BUCKETS子句
- ROW FORMAT子句
- STORED AS子句
- LOCATION子句
1.3 创建表举例
- \n记录间的分割符,默认一行一条记录
- '\001' 列分隔符,^A
- '\002' 集合元素项(COLLECTION ITEMS)的分隔符,ARRAY或STRUCT中元素分隔符,或MAP中key与value分隔。^B
- '\003' MAP中key/value对(MAP KEYS)间的分隔符。^C
1.4 Hive Partition
所谓的离散字段是指非集合类型的字段,使用集合字段为什么会产生过多的小文件?
1.5 Hive Bucket
1.6 Hive支持的数据格式
1.7 Hive操作日志举例
说明:
1. 以前一直对数据的加载有疑问,即加入数据随意放到HDFS的一个目录下,然后再通过hive的load data操作将它加载到Hive能够读取的目录下,实际上不必如此,只要直接将数据保存到hive的相应目录下即可,
2. 数据location如果有子目录,也会遍历子目录下的文件