1. 概述
- 数据定义语言DDL,是SQL语言集中对数据库内部的对象结构进行创建、删除、修改等的操作语言,这些数据库对象包括database、table、view、index等。
- DDL核心语法由CREATE、ALTER与DROP三个所组成。DDL并不涉及表内部数据的操作。
- 在某些上下文中,该术语也称为数据描述语言,因为它描述了数据库表中的字段何记录。
2. 建表语法
2.1 完整建表语法树

注意事项
- 蓝色字体是建表语法的关键字,用户指定某些功能。
- [ ] 中括号的语法表示可选。
- | 表示使用的时候,左右语法二选一。
- 建表语句中的语法顺序要和语法树中顺序保持一致
2.2 数据类型
Hive数据类型指的是表中列的字段类型
- 整体分为两类:原生数据类型和复杂数据类型。
- 原生数据类型包括:数据类型、时间日期类型、字符串类型、杂项数据类型。
- 复杂数据类型包括:array数据、map映射、struct结构、union联合体。

- 原生数据类型:

- 复杂数据类型:

注意事项
- HIive SQL中,数据类型英文字母大小写不敏感;
- 除SQL数据类型外,还支持Java数据类型,比如字符串string;
- 复杂数据类型的使用通常需要和分隔符指定语法配合使用;
- 如果定义的数据类型和文件不一致,Hive会尝试隐式转换,但不保证成功。
隐式转换
- 与标准SQL类似,HQL支持隐式和显示类型转换。
- 原生类型从窄类型到宽类型的转换成为隐式转换,反之,则不允许。
- 下表描述了类型之间允许的隐式转换:

显示转换
- 显示转换使用CAST函数。
例如,CAST (‘100’ as INT) 会将100字符串转换为100整数值。
如果强制转换失败,例如CAST (’Allen’ as INT) ,该函数返回NULL。

本文详细介绍了Hive的数据定义语言DDL,包括建表语法和数据类型,重点讲解了四种实践案例,涵盖了原生数据类型、复杂数据类型、默认分隔符的使用以及指定数据存储路径的操作,旨在帮助读者掌握Hive建表技巧。
最低0.47元/天 解锁文章
1252

被折叠的 条评论
为什么被折叠?



