hive里的HIveQL——查询语言

Posted 大数据和人工智能躺过的坑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hive里的HIveQL——查询语言相关的知识,希望对你有一定的参考价值。

  Hive的操作与传统关系型数据库SQL操作十分类似。

 

  Hive主要支持以下几类操作:

DDL

  1、DDL:数据定义语句,包括CREATE、ALTER、SHOW、DESCRIBE、DROP等。

 

     详细点,就是

  Hive支持大量SQL数据定义语言(Data Definition Language,DDL)中的现有功能,包括以下各种语句:

  CREATE DATABASE/SCHEMA,TABLE,VIEW,FUNCTION,INDEX

  DROP DATABASE/SCHEMA,TABLE,VIEW,INDEX

  TRUNCATE TABLE

  ALTER DATABASE/SCHEMA,TABLE,VIEW

  MSCK REPAIR TABLE (or ALTER TABLE RECOVER PARTITIONS)

  SHOW DATABASES/SCHEMAS,TABLES,TBLPROPERTIES,PARTITIONS,FUNCTIONS,INDEX[ES]

  DESCRIBE DATABASE,table_name,view_name

 

  具体,见  

      Hive的数据类型和DDL见   https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL

 

 

 

DML

  2、DML:数据操作语句,包括LOAD DATA,INSERT(将查询结果写入Hive表或文件系统中)。

       注意,Hive的设计中,没有考虑UPDATE操作。

 

 详细点,就是

  Hive支持大量SQL数据定义语言(Data Manipulation Language,DML)中的现有功能,包括以下各种语句:

  使用where条件过滤表的行

  使用列或子查询的select表达式

  使用等值连接,连接多张表

  合并表的所有行或子查询

  针对多个“分组”的列进行聚合计算

  将查询结果存入另一张表

  导出表中的内容到本地目录或HDFS目录中

 

Hive支持的原生数据类型

  数值类型

    TINYINT (1字节有符号整型)  

    SMALLINT(2字节有符号整型)

    INT(4字节有符号整型)

    BIGINT(8字节有符号整型)

    FLOAT(4字节单精度浮点数)

    DOUBLE(8字节双精度浮点数)  

    DECIMAL(用户定义精度和尺寸)

 

  日期/时间类型

    TIMESTAMP(传统的UNIX时间戳,精度到纳秒)

    DATE(使用YYYY-MM-DD格式的日期,没有时刻信息)

    

  字符串类型

    STRING(不指定长度)

    VARCHAR(1~65535个字符)

    CHAR(1~225个字符,固定长度,不足255长度会在末尾补齐空格)

 

  其他类型

    BOOLEAN

    BINARY

 

 

 

Hive支持的符合数据类型

  Struct:不同类型数据的集合

  Array:相同类型的集合

  Map:键值对数据类型的集合

 

 

 

 

    

QUERY

  3、QUERY:数据查询语句,主要是SELECT语句。

 

以上是关于hive里的HIveQL——查询语言的主要内容,如果未能解决你的问题,请参考以下文章

Hive06-HiveQL:查询

HiveQL:索引

在 HiveQL 中使用 hive 变量

多个连接的 HiveQL 查询

如何在Java中执行Hive命令或HiveQL

查询用户出现在表中后的前 48 小时活动 (HiveQL / SQL)