Hive查询语句——HiveQL学习

Hive查询语句——HiveQL学习

  • 基本数据类型

数据类型描述Java中的类型TINYINT1字节有符号整数,-128~127byteSMALLINT2字节有符号整数,-32768~32767shortINT4字节有符号整数,-231~231-1ubtBIGINT8字节有符号整数,-263~263-1longFLOAT4字节单精度浮点数floatDOUBLE8字节双精度浮点数doubleDOUBLEE PRECISIONDouble的别名,从Hive 2.2.0 开始提供doubleDECIMAL任意精度的带符号小数NUMERIC同样是DECIMAL,从Hive 3.0开始TIMESTAMP精确到纳秒的时间戳DATE以年/月/日形式描述的日期DateINTERVAL表示时间间隔STRING字符串,最多可以存储2GBVARCHAR同STRING,字符串长度不固定CHAR固定长度的字符串BOOLEAN用来存储布尔类型值,TRUE/FALSEBINARY字节数组,存储变长的二进制数据

  • 复杂数据类型

数据类型描述对应Java类型ARRAY有序字段,类型必须相同ArrayMAP键值对,键和值的类型必须各自相同MapSTRUCT字段类型可以不同的数据无

复杂类弄数据示例代码:

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

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

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

create database students;

show databases;

desc databases;

use students;

alert database sutdents set dbproperties (property_name=property_value,...)

drop database students;
  • 创建表
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格式

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

Original: https://blog.csdn.net/weixin_43605736/article/details/127391517
Author: 小鱼在编程
Title: Hive查询语句——HiveQL学习

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/817381/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球