大数据离线阶段 06:HQL数据定义语言(DDL)概述

DDL语法的作用

数据定义语言 (Data Definition Language, DDL),是SQL语言集中对数据库内部的对象结构进行创建,删除,修改等的操作语言,这些数据库对象包括database(schema)、table、view、index等。核心语法由CREATEALTERDROP三个所组成。DDL并不涉及表内部数据的操作。

在某些上下文中,该术语也称为数据描述语言,因为它描述了数据库表中的字段和记录。

Hive中DDL使用

Hive SQL(HQL)与SQL的语法大同小异,基本上是相通的,学过SQL的使用者可以无痛使用Hive SQL。只不过在学习HQL语法的时候,特别要注意Hive自己特有的语法知识点,比如partition相关的DDL操作。

基于Hive的设计、使用特点,HQL中create语法(尤其create table)将是学习掌握DDL语法的重中之重。可以说建表是否成功直接影响数据文件是否映射成功,进而影响后续是否可以基于SQL分析数据。通俗点说,没有表,表没有数据,你分析什么呢?

选择正确的方向,往往比盲目努力重要。


Hive DDL建表基础

完整建表语法树

  • 蓝色字体是建表语法的关键字,用于指定某些功能。
  • []中括号的语法表示可选。
  • |表示使用的时候,左右语法二选一。
  • 建表语句中的语法顺序要和上述语法规则保持一致。

Hive数据类型详解

整体概述

Hive中的数据类型指的是Hive表中的列字段类型。Hive数据类型整体分为两个类别:原生数据类型(primitive data type)和复杂数据类型(complex data type)。

原生数据类型包括:数值类型、时间类型、字符串类型、杂项数据类型;

复杂数据类型包括:array数组、map映射、struct结构、union联合体。

关于Hive的数据类型,需要注意:

  • 英文字母大小写不敏感;
  • 除SQL数据类型外,还支持Java数据类型,比如:string;
  • int和string是使用最多的,大多数函数都支持;
  • 复杂数据类型的使用通常需要和分隔符指定语法配合使用。
  • 如果定义的数据类型和文件不一致,hive会尝试隐式转换,但是不保证成功。

原生数据类型

Hive支持的原生数据类型如下图所示:

其中标注的数据类型是使用较多的,详细的描述请查询语法手册:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值