侧边栏壁纸
博主头像
小鱼吃猫博客博主等级

你所热爱的,便是你的生活。

  • 累计撰写 115 篇文章
  • 累计创建 47 个标签
  • 累计收到 14 条评论

目 录CONTENT

文章目录

Hive查询语句——HiveQL学习

小鱼吃猫
2022-10-18 / 0 评论 / 0 点赞 / 484 阅读 / 4277 字

Hive查询语句——HiveQL学习

Hive仓库的安装Hadoop生态系统—数据仓库Hive的安装

一、Hive内置数据类型

  • 基本数据类型
数据类型 描述 Java中的类型
TINYINT 1字节有符号整数,-128~127 byte
SMALLINT 2字节有符号整数,-32768~32767 short
INT 4字节有符号整数,-231~231-1 ubt
BIGINT 8字节有符号整数,-263~263-1 long
FLOAT 4字节单精度浮点数 float
DOUBLE 8字节双精度浮点数 double
DOUBLEE PRECISION Double的别名,从Hive 2.2.0 开始提供 double
DECIMAL 任意精度的带符号小数
NUMERIC 同样是DECIMAL,从Hive 3.0开始
TIMESTAMP 精确到纳秒的时间戳
DATE 以年/月/日形式描述的日期 Date
INTERVAL 表示时间间隔
STRING 字符串,最多可以存储2GB
VARCHAR 同STRING,字符串长度不固定
CHAR 固定长度的字符串
BOOLEAN 用来存储布尔类型值,TRUE/FALSE
BINARY 字节数组,存储变长的二进制数据
  • 复杂数据类型
数据类型 描述 对应Java类型
ARRAY 有序字段,类型必须相同 Array
MAP 键值对,键和值的类型必须各自相同 Map
STRUCT 字段类型可以不同的数据

复杂类弄数据示例代码:

CREATE TABLE complexTable(
	col1 ARRAY<INT>,
    col2 Map<INT,STRING>,
    col3 STRUCT<a:STRING,b:INT,c:DOUBLE>
)

二、HiveQL学习

与SQL类似,Hive也支持以下三种操作

  • DDL:数据定义语句,包括CREATE、ALERT、SHOW、DESCRIBE、DROP
  • DML:数据操作语句,包括LOAD DATA、INSERT。Hive中数据不支持修改,故没有UPDATE操作
  • QUERY:数据查询语句,主要是SELECT

2.1 数据库操作

-- 创建数据库
create database students;
-- 显示数据库
show databases;
-- 查看数据库详情
desc databases;
-- 切换数据库
use students;
-- 修改数据库
alert database sutdents set dbproperties (property_name=property_value,...)
-- 删除数据库
drop database students;

2.2 表操作

  • 创建表
CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] table_name
[(col_name data_type) [COMMOENT col_comment],...)]
[COMMENT table_comment]
[PARTITIONED BY (col_name data_type [COMMENT col_comment],...)]
[CLUSTERED BY (col_name,col_name,...)]
[SORTED BY (col_name [ASC|DESC],...)] 
[INTO num_buckets BUCKETS]
[ROW FORMAT row_format]
[STORED AS file_format]
[LOCATION hdfs_path]
  • 复制表(根据已有的视图或者表创建新的表,只复制表结构)
CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] table_name
LIKE existing_table_or_view_name [LOCATION hdfs_path]
字段 说明
TEMPORARY 创建一个临时表,只当前会话可见
EXTERNAL 创建一个外部表,这里需要指定hdfs_path。默认不加这个参数创建的内部表
PARTITIONED BY 创建带有分区的表
CLUSTERED BY 对表和分区进行装桶处理,将其放进桶里
SORTED BY 对列进行排序
ROW FORMAT 对行进行格式化
STORED AS 指定存储格式,默认是Textfile格式

2.3 数据操作

Select语法与MySQL中的语法基本相似

更多语法内容,查阅在线文档https://cwiki.apache.org/confluence/display/Hive/LanguageManual

0

评论区