【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如果有子目录,也会遍历子目录下的文件

猜你喜欢

转载自bit1129.iteye.com/blog/2190919