hive里的hiveql——查询语言

大数据和人工智能躺过的坑 大数据和人工智能躺过的坑     2022-08-14     522

关键词:

  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语句。

 

hiveql数据查询进阶(代码片段)

HiveQL数据查询进阶Hive内置函数Hive内置函数就是Hive数据仓库工具已经帮助开发者实现好的可以拿来即用的函数,就好像传统的关系型数据库为开发者提供的丰富的函数,如sum、count、sqrt等。Hive提供的这些内置函数与关系... 查看详情

在 HiveQL 中使用 hive 变量

】在HiveQL中使用hive变量【英文标题】:usehivevariableinHiveQL【发布时间】:2020-07-0113:57:58【问题描述】:我有一个提供max_processed_date的查询(它提供单个值),这个日期用于从master_table获取数据。我正在使用hivevars这样做,但它直... 查看详情

SQL 到 HiveQL 生成器

】SQL到HiveQL生成器【英文标题】:SQLtoHiveQLgenerator【发布时间】:2013-04-1213:54:59【问题描述】:有什么方法可以将我的SQL查询转换为Hive查询,或者任何开源工具或项目可以帮助我将一些查询从SQL转换为HiveQL,以便我可以通过在Had... 查看详情

多个连接的 HiveQL 查询

】多个连接的HiveQL查询【英文标题】:HiveQLqueryformultiplejoins【发布时间】:2014-04-1800:02:13【问题描述】:我是HIVE的新手。我正在尝试为连接实现一个简单的HiveQL查询。但由于缺乏对HiveQL的了解,而且互联网上与HiveQl相关的可用... 查看详情

hive组件以及执行过程

...列、分区等的元数据”的组件。驱动(Driver)-控制HiveQL生命周期的组件,当HiveQL查询穿过Hive时。该驱动管理着会话句柄以及任何会话的统计。查询编译器(QueryCompiler)-是一个组件,将HiveQL编译成有向无环图(directedacyc 查看详情

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

】查询用户出现在表中后的前48小时活动(HiveQL/SQL)【英文标题】:Queryingthefirst48hoursofactivityafterauserappearsinatable(HiveQL/SQL)【发布时间】:2020-06-0601:50:10【问题描述】:我正在使用Hive表,该表表示网站上的流量并包含user_id、day和even... 查看详情

hiveql数据查询基础(代码片段)

HiveQL数据查询基础HiveQL数据查询语法select语句在所有数据库系统中,select语句是应用最广的,也是相对复杂的语句,它用于选取字段。同样,Hive中的select语句也是比较复杂的查询语句。select*/field1,field2...fromtableNam... 查看详情

HIVEQL:为啥我的 SELECT 查询不起作用?

】HIVEQL:为啥我的SELECT查询不起作用?【英文标题】:HIVEQL:WhyismySELECTquerynotworking?HIVEQL:为什么我的SELECT查询不起作用?【发布时间】:2016-07-2216:00:51【问题描述】:上下文:我正在使用Hive并希望将Query_1与Query_2合并。两者都是... 查看详情

HiveQL 查询不返回任何结果,也没有错误

】HiveQL查询不返回任何结果,也没有错误【英文标题】:HiveQLqueryreturnsnoresultsandnoerrors【发布时间】:2015-10-2610:03:11【问题描述】:我在Ubuntu14.0上运行ApacheHadoop2.6.0,我在Hive0.13.0中创建了一个表:CREATETABLEIFNOTEXISTSrecipes_hive.cuisine... 查看详情

hivehiveql数据定义(代码片段)

HiveQL与传统SQL区别HiveQL是Hive的查询语言。与mysql的语言最接近,但还是存在于差异性,表现在:Hive不支持行级插入操作、更新操作和删除操作,不支持事物。基本语法数据库操作1、创建数据库hive>createdatabasetest;或者createdatabas... 查看详情

如何在java中执行hive命令或hiveql

参考技术A这里所说的在Java中执行Hive命令或HiveQL并不是指HiveClient通过JDBC的方式连接HiveServer(orHiveServer2)执行查询,而是简单的在部署了HiveServer的服务器上执行Hive命令。当然这是一个简单的事情,平常我们通过Hive做简单的数... 查看详情

如何将 HiveQL 查询的结果输出到 CSV?

】如何将HiveQL查询的结果输出到CSV?【英文标题】:HowdoIoutputtheresultsofaHiveQLquerytoCSV?【发布时间】:2013-08-1009:01:11【问题描述】:我们希望将Hive查询的结果放入CSV文件。我认为命令应该是这样的:insertoverwritedirectory\'/home/output.cs... 查看详情

hive

...是一种底层封装了Hadoop的数据仓库处理工具,使用类SQL的HiveQL语言实现数据查询,所有Hive的数据都存储在Hadoop兼容的文件系统,Hive在加载数据过程中不会对数据进行任何的修改,只是将数据移动到HDFS中 查看详情

[hive]hiveql基础操作

1.显示当前的数据库信息 直接修改hive.site.xml,永久显示  查看详情

MongoDB 中的 HiveQL

】MongoDB中的HiveQL【英文标题】:HiveQLinMongoDB【发布时间】:2014-02-2112:49:20【问题描述】:我一直在研究用于数据仓库的NoSQL和Hadoop,但是我以前从未使用过这些技术,我想询问以下是否可以检查我是否正确理解了这些技术。如果... 查看详情

HiveQL - 大数据的高效 geoip 发现

】HiveQL-大数据的高效geoip发现【英文标题】:HiveQL-Efficientgeoipdiscoveryforbigdata【发布时间】:2013-02-2616:07:27【问题描述】:我正在使用此配置单元查询来发现所有帐户的国家/地区代码。问题是连接将数据集爆炸到无法管理的大小... 查看详情

Hive:对指定组求和(HiveQL)

】Hive:对指定组求和(HiveQL)【英文标题】:Hive:Sumoveraspecifiedgroup(HiveQL)【发布时间】:2014-08-0114:03:51【问题描述】:我有一张桌子:keyproduct_codecost1UK201US101EU52UK32EU6我想找到每组“键”的所有产品的总和并附加到每一行。例如k... 查看详情

通过sparkr操作hive

作为数据工程师,我日常用的主力语言是R,HiveQL,Java与Scala。R是非常适合做数据清洗的脚本语言,并且有非常好用的服务端IDE——RStudioServer;而用户日志主要储存在hive中,因此用HiveQL写job也是日常工作之一;当然R的执行效率... 查看详情