hive Hql

Hive Sql 大全(1) 一、DDL语句(数据定义语句): 对数据库的操作:包含创建、修改数据库 对数据表的操作:分为内部表及外部表,分区表和分桶表 二、DQL语句(数据查询语句): 单表查询、关联查询 hive函数:包含聚合函数,条件函数,日期函数,字符串函数等 行转列及列转行:lateral view 与 explode 以及 reflect 窗口函数与分析函数 其他一些窗口函数 阅读详情
创建表
hive> CREATE TABLE pokes (foo INT, bar STRING);

创建表并创建索引字段ds
hive> CREATE TABLE invites (foo INT, bar STRING) PARTITIONED BY (ds STRING);

显示所有表
hive> SHOW TABLES;

按正条件(正则表达式)显示表,
hive> SHOW TABLES '.*s';

表添加一列
hive> ALTER TABLE pokes ADD COLUMNS (new_col INT);

添加一列并增加列字段注释
hive> ALTER TABLE invites ADD COLUMNS (new_col2 INT COMMENT 'a comment');

更改表名
hive> ALTER TABLE events RENAME TO 3koobecaf;

删除表
hive> DROP TABLE pokes;

元数据存储:

将文件中的数据加载到表中
hive> LOAD DATA LOCAL INPATH './examples/files/kv1.txt' OVERWRITE INTO TABLE pokes;

加载本地数据,同时给定分区信息
hive> LOAD DATA LOCAL INPATH './examples/files/kv2.txt' OVERWRITE INTO TABLE invites PARTITION (ds='2008-08-15');

加载DFS数据 ,同时给定分区信息
hive> LOAD DATA INPATH '/user/myname/kv2.txt' OVERWRITE INTO TABLE invites PARTITION (ds='2008-08-15');

The above command will load data from an HDFS file/directory to the table. Note that loading data from HDFS will result in moving the file/directory. As a result, the operation is almost instantaneous.

SQL 操作:

按先件查询
hive> SELECT a.foo FROM invites a WHERE a.ds='<DATE>';

将查询数据输出至目录
hive> INSERT OVERWRITE DIRECTORY '/tmp/hdfs_out' SELECT a.* FROM invites a WHERE a.ds='<DATE>';

将查询结果输出至本地目录
hive> INSERT OVERWRITE LOCAL DIRECTORY '/tmp/local_out' SELECT a.* FROM pokes a;

选择所有列到本地目录
hive> INSERT OVERWRITE TABLE events SELECT a.* FROM profiles a;
hive> INSERT OVERWRITE TABLE events SELECT a.* FROM profiles a WHERE a.key < 100;
hive> INSERT OVERWRITE LOCAL DIRECTORY '/tmp/reg_3' SELECT a.* FROM events a;
hive> INSERT OVERWRITE DIRECTORY '/tmp/reg_4' select a.invites, a.pokes FROM profiles a;
hive> INSERT OVERWRITE DIRECTORY '/tmp/reg_5' SELECT COUNT(1) FROM invites a WHERE a.ds='<DATE>';
hive> INSERT OVERWRITE DIRECTORY '/tmp/reg_5' SELECT a.foo, a.bar FROM invites a;
hive> INSERT OVERWRITE LOCAL DIRECTORY '/tmp/sum' SELECT SUM(a.pc) FROM pc1 a;

将一个表的统计结果插入另一个表中
hive> FROM invites a INSERT OVERWRITE TABLE events SELECT a.bar, count(1) WHERE a.foo > 0 GROUP BY a.bar;
hive> INSERT OVERWRITE TABLE events SELECT a.bar, count(1) FROM invites a WHERE a.foo > 0 GROUP BY a.bar;

JOIN

hive> FROM pokes t1 JOIN invites t2 ON (t1.bar = t2.bar) INSERT OVERWRITE TABLE events SELECT t1.bar, t1.foo, t2.foo;


将多表数据插入到同一表中
FROM src
INSERT OVERWRITE TABLE dest1 SELECT src.* WHERE src.key < 100
INSERT OVERWRITE TABLE dest2 SELECT src.key, src.value WHERE src.key >= 100 and src.key < 200
INSERT OVERWRITE TABLE dest3 PARTITION(ds='2008-04-08', hr='12') SELECT src.key WHERE src.key >= 200 and src.key < 300
INSERT OVERWRITE LOCAL DIRECTORY '/tmp/dest4.out' SELECT src.value WHERE src.key >= 300;

将文件流直接插入文件
hive> FROM invites a INSERT OVERWRITE TABLE events SELECT TRANSFORM(a.foo, a.bar) AS (oof, rab) USING '/bin/cat' WHERE a.ds > '2008-08-09';

This streams the data in the map phase through the script /bin/cat (like hadoop streaming). Similarly - streaming can be used on the reduce side (please see the Hive Tutorial or examples)


实际示例:

创建一个表
CREATE TABLE u_data (
userid INT,
movieid INT,
rating INT,
unixtime STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE;

下载示例数据文件,并解压缩
wget http://www.grouplens.org/system/files/ml-data.tar__0.gz
tar xvzf ml-data.tar__0.gz

加载数据到表中
LOAD DATA LOCAL INPATH 'ml-data/u.data'
OVERWRITE INTO TABLE u_data;

统计数据总量
SELECT COUNT(1) FROM u_data;

现在做一些复杂的数据分析
创建一个 weekday_mapper.py: 文件,作为数据按周进行分割
import sys
import datetime
for line in sys.stdin:
line = line.strip()
userid, movieid, rating, unixtime = line.split('\t')

生成数据的周信息
weekday = datetime.datetime.fromtimestamp(float(unixtime)).isoweekday()
print '\t'.join([userid, movieid, rating, str(weekday)])

使用映射脚本
//创建表,按分割符分割行中的字段值
CREATE TABLE u_data_new (
userid INT,
movieid INT,
rating INT,
weekday INT)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t';

//将python文件加载到系统
add FILE weekday_mapper.py;

将数据按周进行分割
INSERT OVERWRITE TABLE u_data_new
SELECT

TRANSFORM (userid, movieid, rating, unixtime)
USING 'python weekday_mapper.py'
AS (userid, movieid, rating, weekday)
FROM u_data;
SELECT weekday, COUNT(1)
FROM u_data_new
GROUP BY weekday;

hiveSQL语法 分桶就是将这个128M的文件拆分成多个文件来存储,例如拆分成四个桶文件,那么计算的时候就会有4个reduce参与数据的计算和整合,那么数据的计算速度就会变快。直接创建表格,指定了对应的目录,也读取不到数据,因为表格是个分区表,只有表格的结构,没有分区的结构。假如有一个表格,只有一个文件,文件是128M,计算的时候将这个文件当成一个整体,使用一个map和一个reduce进行数据统计的;hive数据库所有的sql操作都是高延迟的,如果操作的数据量小于128M,那么我们可以去启动本地设置的开关,加快数据的操作。 阅读详情

相关推荐

Hive安装、配置,HQL,实践

一、Hive安装 官方下载地址:http://www.apache.org/dyn/closer.cgi/hive/,可在其中寻找镜像 下载安装命令: wget http://mirror.bit.edu.cn/apache/hive/hive-1.2.1/apache-hive-1.2.1-bin.tar.gz sudo tar -zxf apache-hive-1.2.1-bin.tar.gz

无名的博客 1426

一文学完所有的Hive SQL(两万字最全详解)

Hive SQL 大全本文基本涵盖了Hive日常使用的所有SQL,因为SQL太多,所以将SQL进行了如下分类:一、DDL语句(数据定义语句):对数据库的操作:包含创建、修改数据库对数据表的操作:分为内部表及外部表,分区表和分桶表二、DQL语句(数据查询语句):单表查询、关联查询hive函数:包含聚合函数,条件函数,日期函数,字符串函数等行转列及列转行:lateral view 与 explode ...

大数据星球-浪尖 1万+

Maven java通过jdbc连接Hive 执行HQL语句

lrwxrwxrwx. 1 hadoop hadoop 12 May 14 09:53 hadoop -> hadoop-2.2.0 drwxr-xr-x. 10 hadoop hadoop 4096 May 14 16:45 hadoop-2.2.0  lrwxrwxrwx.  1 hadoop hadoop        15 May 16 15:38 hive -

sunflower_cao的专栏 9194

HiveSQL

HiveSQL Hive Sql 入门教程基础关键字用法 前置教程 hive库表知识 hive库是表的一个集合,一个库拥有多个表,hive整个数据库拥有多个库。 hive表代表一个对象,比如一个人设计为一个表就有身高体重等属性,在hive 中实际存储表现为每张表会有一个存储地址,比如表名为people,实际存储会有 hive中的分区概念 /xx/xx/people,hive中引用了一个很重要的概念分区,分区实际上也是这个表的字段,反映在 实际存储中通常以天为分区,存储在址为/xx/xx/peopl

qq_43528451的博客 1万+

【Hive】常用的hive操作(HQL查询语法)

文章目录1 select2 查询语法2.1 全表查询2.2 选择特定列2.3 列别名3 常用函数3.1 求总行数:count3.2 求最大值:max3.3 求最小值:min3.4 求和:sum3.5 求平均值:avg4 limit5 where6 like和rlike7 逻辑运算符8 分组group byhaving9 join9.1 等值 join9.2 内连接9.3 左连接9.4 右连接9.5 多表连接 1 select select [all | distinct] select_expr ....

毕业于东北大学软件工程专业,现就职于字节跳动 1033

Hive从入门到精通,HQL硬核整理四万字,全面总结,附详细解析,赶紧收藏吧!!

一、了解Hive 二、Hive的基本语法 三、Hive的数据类型 四、Hive HQL使用语法 五、Hive HQL使用注意 六、Hive 的函数使用 七、Hive 的Shell使用

北慕辰的博客,欢迎各位大佬光临!! 1万+

HIVE相关操作

HIVE有两种启动方式。

Kilig___的博客 938

Hive 源码解读 CliDriver HQL 语句拆分

Hive 版本:2.3.4

SmartSi 395

Hive——HQL数据定义语言

MySQL => 核心 => SQL语句:DDL :数据定义语言,建库、建表DML :数据操纵语言,增、删、改DQL :数据查询语言,查DCL :数据控制语言,用户与权限控制 => rootHive中的数据类型指的是Hive表中的列字段类型。原生数据类型(primitive data type)和==复杂数据类型数值类型、时间类型、字符串类型、杂项数据类型;array数组、map映射、struct结构、union联合体。关于Hive的数据类型,需要注意:英文字母大小写不敏感;。

m0_66925868的博客 1961

【vivado PG学习】1 PG168:7 Series FPGAs Transceivers官方配置方法学习笔记

介绍: The 7 series FPGAs Transceivers Wizard LogiCORE™ IP 自动创建配置7系列fpga 收发器的HDL封装。向导可以配置一个或多个支持行业主流标准的高速串行收发器。或者从零开始支持各种自定义协议。 功能: 创建配置7系列fpga 收发器的HDL封装。 自动对模拟设置进行配置。 预定义了提供Aurora 8B/10B, Aurora 64B/66B, CEI-6G,DisplayPort, Interlaken, Open Base StationAr..

w0shishabi的博客 5万+

ArcGIS+PLUS+InVEST三件套:从零搞定生态系统服务模拟预测(附完整数据包)

本文详细介绍了如何整合ArcGIS、PLUS模型和InVEST模型,构建一套完整的生态系统服务模拟预测工作流。内容涵盖从统一数据预处理、PLUS模型多情景模拟,到InVEST模型量化评估的全过程,并提供了关键脚本和避坑指南,旨在帮助研究者和从业者高效解决土地利用变化与生态系统服务评估结合的实际难题。

weixin_42522857的博客 139

Hive的HQL转换为MapReduce的过程解析

HiveQL(Hive Query Language)是一种类似于SQL的查询语言,用于数据分析和查询。HiveQL支持多种数据操作,包括数据定义(DDL)、数据操作(DML)和查询语言(DQL)。虽然HiveQL的语法与SQL相似,但它在底层通过Hadoop的MapReduce框架进行数据处理。Hive将HQL转换为MapReduce的过程包括查询解析、逻辑计划生成、优化、物理计划生成和MapReduce作业的执行。理解这个过程对优化查询性能、调试和实现高效的数据处理至关重要。

My_wife_QBL的博客 1377

Hive Query Language(HQL)概述

数据定义语言DDL(Data Definition Language)用于定义或管理 Hive 的数据库和表结构。DDL 语句可以创建、修改和删除表、数据库以及视图等对象,此外,还可定义分区和分桶等操作。

xhcx_25的博客 1365

AI 辅助代码审查:开启代码质量管控的智能时代

AI辅助代码审查正在改变传统的代码质量管控方式。通过自动化分析、智能反馈和上下文感知,AI不仅提高了代码审查的效率,还提升了代码质量的一致性和可维护性。随着机器学习和深度学习技术的不断发展,未来AI将成为开发者日常工作中强大的助手,进一步推动软件开发向智能化、自动化方向发展。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 3229

3D Gaussian Splatting环境配置和运行

使用conda命令根据environment.yml文件创建虚拟环境时,安装的pytorch是使用conda install 命令来安装的,实际上并不能成功安装带有gpu的pytorch,而这两个模块的安装依赖于带gpu的pytorch。如果不注释掉这三行,直接安装会报错

m0_46360757的博客 3326

《Hive编程指南学习》:HQL基础、HQL优化

HQL基于与优化1 HQL数据定义2 HQL数据操作3 HQL查询 1 HQL数据定义 //数据库中,表名,正则表达式 use jmw; show tables like “jm.*”; //简单查询 select distinct gender from jmw.jm_ti_account where ymd>“20191230” limit 10 //创建表 create table i...

张之海的博客 1272

SAP CPI 如何代理第三方接口?

代理接口是指在系统 A 和系统 B 之间引入一个中间层(如 SAP CPI),由中间层负责接收来自系统 A 的请求,进行必要的处理或转换,然后将请求转发给系统 B。由于 OData 服务通常使用 JSON 格式的数据,而某些内部系统可能需要 XML 格式,因此我们添加一个 JSON 到 XML 的转换器,以确保数据格式的兼容性。为了确保返回的数据格式符合内部系统的要求,添加一个 XML 到 JSON 的转换器,将 OData 服务的响应从 XML 转换为 JSON。在集成包中,添加一个新的集成流,命名为。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1748

Hibernate的HQL和Hive的HQL

Hibernate的HQL和Hive的HQL竟然是两家人!

qq_43488791的博客 807

【unity实战】随机地下城生成3——设置人物移动脚本、动画的切换和摄像机的跟随(含源码)

给房间添加触发器碰撞体,用来判断角色是否进入房间切割人物图片,注意人物每个图片高度可能不同,所有我们需要把轴心调整到人物的底部把人物跑步图片的高度,统一调成20,下面镂空,达到跳跃的效果快速创造人物动画,以人物idle为例,我们选中所有的idle人物图片,拖拽至窗口,unity就会自动生成,并提示保存动画位置别忘记设置人物排序图层,运行人物就动起来了新增run动画设置人物碰撞体设置刚体将重力设置为0,持续人物移动和动画切换的代码设置摄像机跟随单例代码在room中调用。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1052

在 Zynq 7010 上运行 VxWorks 7.0 的详细流程【持续更新】

本文介绍了在Zynq 7010开发板上运行VxWorks 7.0的完整流程。主要包括:1)使用Vivado创建硬件设计,配置Zynq模块并生成比特流文件;2)通过Workbench 4创建VxWorks工程,配置启动参数并生成镜像;3)下载运行步骤。此外还讲解了使用Workbench 4开发VSB和VIP工程的方法,包括工程创建、配置和调试流程。文中提供了关键操作截图和注意事项,为开发者提供了完整的Zynq 7010平台VxWorks开发解决方案。

weixin_45397344的博客 1223

hive的hql怎么运行_在Ubuntu上安装Apache Hive并运行HQL查询

hive的hql怎么运行In this lesson, we will see how we can get started with Apache Hive by installing it on our Ubuntu machine and verifying the installation by running some Hive DDL Commands as well. Install...

从零开始的教程世界 423

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

【Hive】服务部署和HQL

注意:若客户端或者hiveserver2等连接metastore服务的节点中,hive-stie.xml文件里即包含连接metastore服务的参数,又包含直接连接MySQL的参数,那么只会看连接metastore服务的参数,即此时还是独立运行模式,假如部署了metastore服务的节点未开启metastore服务,那么客户端或者hiveserver2即使进入了hive也同样无法使用hive sql。模拟用户的功能,默认是开启的。因此,需要将hiveserver2的启动用户设置为Hadoop的代理用户。

m0_72924007的博客 308

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Hive常用基础HQL语句

Hadoop-Hive常用基础HQL语句 夏一关注 2018.07.16 22:52字数 399阅读 201评论 0喜欢 0 一. 数据库 1. 查询数据库列表 show databases ; 2. 使用指定的数据库 use default; 3. 查看数据库的描述信息 desc database extended db_hive_03 ; 二. 表 1...

第四维度 257

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Hive--HQL的转换过程

Hive–HQL的转换过程 文章目录**Hive--HQL的转换过程**一:Hive的执行过程概述:操作符列表Hive 编译器的工作职责:优化器的类型:二:具体转化过程1)join2)group by3)distinck 一:Hive的执行过程概述: Hive 将 HQL 转换成一组操作符(Operator),比如 GroupByOperator, JoinOperator 等 操作符 Ope...

ITgagaga的博客 883

Hive笔记3-HQL操作

HQL操作 参考资料: Hive详细介绍及简单应用 Hive基本操作,DDL操作(创建表,修改表,显示命令),DML操作(Load Insert Select),Hive Join,Hive Shell参数(内置运算符、内置函数)等 Hive入门及常用指令 Hive分区、分桶操作及其比较 函数分类,HIVE CLI命令,简单函数,聚合函数,集合函数,特殊函数(窗口函数,分析函数,混合函数,UDT...

好女绪的博客 968
上一篇: Hadoop Shell命令
下一篇: 数据仓库
codestinity
博客等级 码龄16年 29粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值