HiveQL学习笔记
其他
2018-06-05 18:12:17
阅读次数: 1
HiveQL学习笔记1
1、SQL和HiveQL的概要比较
特性 |
SQL |
HiveQL |
更新 |
UPDATA , INSERT, DELETE |
UPDATE, INSERT, DELETE |
事务 |
支持 |
有限支持 |
索引 |
支持 |
支持 |
延迟 |
亚秒级 |
分钟级 |
数据类型 |
整数,浮点数,定点数,文本和二进制串,时间 |
布尔型,整数,浮点数,文本和二进制串,时间戳,数组,映射,结构 |
函数 |
数百个内置函数 |
数百个内置函数 |
多表插入 |
不支持 |
支持 |
CREATE TABLE AD SELECT |
部分数据库支持 |
支持 |
SELECT |
SQL-92 |
SQL-92。支持偏序SORT BY。可限制返回行数量的LIMIT |
连接 |
SQL-92支持或变相支持 |
内连接,外链接,半连接,映射,连接,交叉连接 |
子查询 |
在任何字句中支持“相关”的或不相关的 |
只能在FORM,WHERE或HAVING子句中 |
视图 |
可更新 |
只读 |
扩展点 |
用户自定义函数,存储过程 |
用户定义函数, MapReduce脚本 |
2、数据类型
基本数据类型
类型 |
描述 |
文字示例 |
BOOLEAN |
true/false |
TRUE |
TINYINT |
1字节有符号整数,[-128,127] |
1Y |
SMALLINT |
2字节有符号整数,[-32768,32767] |
1S |
INT |
4字节有符号整数[-2147483,2147483647] |
1 |
BIGINT |
8字节有符号整数[-9223372036854775808, 9223372036854775807] |
1L |
FLOAT |
4字节单精度浮点数 |
1.0 |
DOUBLE |
8字节双精度浮点数 |
1.0 |
DECIMAL |
任意精度有符号小数 |
1.0 |
STRING |
无上限可变长度字符串 |
‘a’ “a” |
VARCHAR |
可变长度字符串 |
‘a’ “a” |
CHAR |
固定长度字符串 |
‘a’ “a” |
BINARY |
字节数据 |
不支持 |
TIMESTAMP |
精度到纳秒的时间戳 |
– |
DATE |
日期 |
2018-05-31 |
复杂数据类型
类型 |
描述 |
文字示例 |
ARRAY |
一组有序字段,字段的类型必须相同 |
array(1,2) |
MAP |
一组无序的字段,键的类型必须是原子的;值可以是任何类型,同一个映射的键的类型必须相同,值得类型也必须相同 |
map(‘a’,1,’b’,2) |
STRUCT |
一组命名的字段,字段的类型可以不同 |
struct(‘a’,1, 1.0), named_struct(‘col1’, ‘a’, ‘col2’, 1) |
UNION |
值得数据类型可以是多个被定义的数据类型中的任意一个,这个值通过一个整数(零索引)来标记其为联合类型中的哪个数据类型 |
create_union(1,’a’,63) |
转载自blog.csdn.net/li_and_li/article/details/80519926