整套大数据学习资料(视频+笔记)百度网盘无门槛下载:http://www.edu360.cn/news/content?id=3377

12.5 HiveQL

hadoop 小红牛 13℃ 0评论

Hive的SQL
“方言”,称为HiveQL,并不完全支持SQL-92标准,因为 SQL-92兼容本来就不是Hive项目的目标。作为一个开源项目,开发者不
断增加新的功能,以满足用户的需要,从而使得Hive的SQL支持越来越丰 富。此外,Hive还有一些SQL-92所没有的扩展。这些扩展受到其他数据
库系统(特别是MySQL)语法的启发。事实上,HiveQL可以勉强看作是对 MySQL的SQL方言的模仿。

Hive对SQL-92的有些扩展是受MapReduce启发而来的,如多表插入(详情 参见 12.6.4 节)和 TRANSFORM, MAP 和 REDUCE f 句(详情参见 12.7.2 节)。

本章并不提供HiveQL的完整介绍,我们只聚 焦于常用特性,并特别关注那些不同于SQL-92或像MySQL这样常用数据 库的特性。表12-2给出了 SQL和HiveQL特性的较高层次的比较。

表12-2. SQL和HiveQL的概要比较

特性

 SQL

HiveQL

HiveQL

更新

UPDATE, INSERT, DELETE

INSERT

12.6.4 节和 12.4.2 节

事务

支持

支持(表级和分区级)

索引

支持

支持

延迟

亚秒级

分钟级

数据类型

整数、浮点数、定点 数、文本和二进制串、 时间

整数、浮点数、布尔 型、文本和二进制串、 时间戳、数组、映射、 结构

12.5.1 节

函数

数百个内置函数

几十个内置函数

12.5.2 节

多表插入

不支持

支持

12.6.4 节

Create table SQL-92 中不支持, as select 但有些数据库支持

支持

12.6.4 节

选择

SQL-92

FROM子句中只能有一 个表或视图。支持偏序 的SORT BY。可限制 返回行数量的LIMIT

12.7 节

 

特性

SQL

HiveQL

参考

连接

SQL-92支持或变相支 持(FROM子句中列出 连接表,在WHERE 子句中列出连接条件)

内连接、外连接、半连 接、映射连接(带提示 的SQL-92语法)

12.7.3 节

子査询

在任何子句中支持“相 关”的(correlated)或不相 关的(noncorrelated)

只能在FROM子句中 (不支持相关子査询)

12.7.4 节

视图

可更新(是物化的或非 物化的)

只读(不支持物化视图)

12.7.5 节

扩展点

用户定义函数

用户定义函数

12.8 节和]2.7.2

存储过程

MapReduce 脚本

 

转载请注明:全栈大数据 » 12.5 HiveQL

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址