HIVE统计WordCount

news2024/10/5 12:41:10

HIVE WORDCOUNT

目录

HIVE WORDCOUNT

一、WORDCOUNT

1.我们先创建一个新的数据库

2.创建表并插入数据

3.统计WORDCOUNT

4.UNION ALL 用法

5.WITH AS 用法


1.WORDCOUNT

1)我们先创建一个新的数据库

create database learn3;

use learn3;

2)创建表并插入数据

CREATE TABLE learn3.wordcount(
word STRING COMMENT "单词"
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE;

INSERT INTO TABLE learn3.wordcount (word) VALUES ("hello,word"),("hello,java"),("hive,hello");

3)统计WORDCOUNT

select split(word,",")[0] clo1
from learn3.wordcount;


select split(word,",")[1] clo2
from learn3.wordcount;

select split(word,",")[0] clo1
,split(word,",")[1] clo2
from learn3.wordcount;

select count(*) as num
,c1.clo1 as clo from
(
select split(word,",")[0] clo1
,split(word,",")[1] clo2
from learn3.wordcount
) c1 group by clo1;

select count(*) as num
,c2.clo2 as clo from
(
select split(word,",")[0] clo1
,split(word,",")[1] clo2
from learn3.wordcount
) c2 group by clo2;

select count(*) as num
,c1.clo1 as clo from
(
select split(word,",")[0] clo1
,split(word,",")[1] clo2
from learn3.wordcount
) c1 group by clo1
UNION ALL
select count(*) as num
,c2.clo2 as clo from
(
select split(word,",")[0] clo1
,split(word,",")[1] clo2
from learn3.wordcount
) c2 group by clo2;

select sum(num)
,c.clo from
(
select count(*) as num
,c1.clo1 as clo from
(
select split(word,",")[0] clo1
,split(word,",")[1] clo2
from learn3.wordcount
) c1 group by clo1
UNION ALL
select count(*) as num
,c2.clo2 as clo from
(
select split(word,",")[0] clo1
,split(word,",")[1] clo2
from learn3.wordcount
) c2 group by clo2) c group by c.clo;

2.UNION ALL 用法

在 Hive 中,`UNION ALL` 用于合并多个查询结果集,包括所有重复的行。

假设我们有两张表 `table1` 和 `table2`,它们具有相同的列结构。现在,我们想要将这两张表中的数据合并成一个结果集,而不去除任何重复的行,就可以使用 `UNION ALL`。

下面是一个简单的示例:

```sql
SELECT * FROM table1
UNION ALL
SELECT * FROM table2;
```

这个查询将会返回 `table1` 和 `table2` 中所有的行,包括重复的行。如果你只想返回不重复的行,可以使用 `UNION` 而不是 `UNION ALL`。 

需要注意的是,使用 `UNION ALL` 时,两个查询的列数和数据类型必须完全相同。

3.WITH AS 用法

格式:

WITH table1  AS (
 SELECT 查询语句1
)
, table2 AS (
 SELECT 查询语句2
)

[INSERT INTO TABLE] SELECT

FROM


 

WITH split_res AS
(
select split(word,",")[0] as clo1,
split(word,",")[1] as clo2
from learn3.wordcount
)
,c1 AS
(
select clo1 as clo,count(*) as num
from split_res group by clo1
)
,c2 AS
(
select clo2 as clo,count(*) as num
from split_res group by clo2
)
select
c.clo,sum(num)
from
(
select * from c1
UNION ALL
select * from c2
) c group by clo;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1647392.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker 入门篇(六)-- idea 打包 docker 镜像流程

环境准备: idea 环境:IntelliJ IDEA 2021.3.1 (Ultimate Edition)docker 版本:v. 26.1.0准备 springboot jar 文件 :target/DockerDemo-0.0.1-SNAPSHOT.jardocker 可视化管理工具 portainer :v2.6.0 一. 配置docker远…

node.js+vue3 实现

目录 一、node.jsvue3 1.1 node安装 1.2 node.jsvue3预期 二、项目及程序代码 2.1 创建项目 2.2 Node.js 服务器 (server.js) 2.3 public/index.html 2.4 src/main.js 2.5 src/App.vue 2.6 vue.config.js 三、编译实现 3.1 安装必要的依赖 3.2 运行Node.js服务器 …

04-25 周四 FastBuild重构实践-TLS、全局捕获异常、一键配置

04-25 周四 FastBuild重构实践 时间版本修改人描述04-25V0.1宋全恒新建文档2024年5月6日14:33:16V1.0宋全恒完成文档撰写 简介 由于 04-22 周日 阿里云-瑶光上部署FastBuild过程(配置TLS、自定义辅助命令)描述了重新部署一个FastBuild实例的过程,通过阅读这个&…

ADS过孔---过孔建模自动化

当前快速建模的方法有两类:一是脚本自动化,也就是今天要分享的方法,但该方法需要工程师有基本的脚本编辑能力,然后根据自己的需要去修改,难度较大一点点;二是参数化建模,也就是在GUI界面输入相应…

基于 Spring Boot 博客系统开发(七)

基于 Spring Boot 博客系统开发(七) 本系统是简易的个人博客系统开发,为了更加熟练地掌握 SprIng Boot 框架及相关技术的使用。🌿🌿🌿 基于 Spring Boot 博客系统开发(六)&#x1f…

远程连接是什么?

远程连接是指通过网络连接两个或多个设备,实现远程访问、控制或传输数据的技术。它在现代科技发展中起到了重要作用,使得我们可以随时随地与远程设备进行交互、管理和操作。 天联组网是一种高效的远程连接解决方案,它因为操作简单、跨平台应用…

算法(C++

题目:螺旋矩阵(59. 螺旋矩阵 II - 力扣(LeetCode)) 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1: 输入&am…

IT养生知识之:子午流注

《子午流注口诀》 肺寅大卯胃辰宫, 脾巳心午小未中, 申膀酉肾心包戌, 亥焦子胆丑肝通。 何为子午流注? 子午流注是中医圣贤发现的一种规律,中医认为人体中十二条经脉对应着每日的十二个时辰,由于时辰在…

计算机网络4——网络层8 软件定义网络 SDN

文章目录 一、介绍1、简介2、原理3、案例1)普通2)负载均衡的例子3)防火墙的例子 二、控制层面1、特征2、层次 一、介绍 1、简介 SDN的概念最初由斯坦福大学N.McKeown于2009年首先提出。当时还只是在学术界进行探讨的一种新的网络体系结构。…

springboot+mp自动生成没有实体类

mybatisX版本冲突问题 一开始我的MyBatisX版本是1.6.1-3,使用mybatis-plus一直不能正常生成实体类 将MyBatisX的版本换成了1.5.7就可以了 MyBatisX版本更换 1.将原有的MyBatisX卸载后重新安装一个新的版本 2.选择一个合适的版本,这里我选的是1.5.7 下载完成后自己选择一个…

css实现上下左右对勾选中状态角标

🍥左上角 🍥右上角 🍥左下角 🍥右下角: 🍥左上角: .blueBackground {position: relative;border: 1px solid #91c7f3;background: #F0F8FF !important;&:after {content: "";position: absolute;top:…

【Java从入门到精通】Java 重写(Override)与重载(Overload)

重写(Override) 重写(Override)是指子类定义了一个与其父类中具有相同名称、参数列表和返回类型的方法,并且子类方法的实现覆盖了父类方法的实现。 即外壳不变,核心重写! 重写的好处在于子类可以根据需要&#xff0c…

jmeter后置处理器提取到的参数因为换行符导致json解析错误

现象: {"message":"JSON parse error: Illegal unquoted character ((CTRL-CHAR, code 10)): has to be escaped using backslash to be included in string value; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Ill…

FastAdmin实现后台菜单自定义方法

FastAdmin实现后台菜单自定义显示,默认显示的是编辑和删除操作,我们有的时候是需要增加一些功能性的按钮,例如审核,或者说更多的关联性的信息。那么我们就可以按如下的操作去做 上面是默认展示的功能图片,下面我来简单…

上海亚商投顾:沪指创年内新高 化工板块掀涨停潮

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 三大指数昨日高开震荡,沪指涨超1%续创年内新高,深成指、创业板指均涨约2%。化工股集体…

PPT中如何在原有的表格中新增/删除一行

在编辑PPT中插入的表格时,如果发现原有表格不够用/原有表格需过多,需要新插入/新删除一行,应该怎么做?今天就为大家演示一下这个小常识。 1.PPT中在原有的表格中新增一行 -->任意选中表格中的一行(默认一般选择最后一行) --&…

深入C语言:文件操作实现局外影响程序

一、什么是文件 文件其实是指一组相关数据的有序集合。这个数据集有一个名称,叫做文件名。文件通常是驻留在外部介质(如磁盘等)上的,在使用时才调入内存中来。 文件一般讲两种:程序文件和数据文件: 程序文件:包括源程…

模拟IC设计实践教程(入门)

一、教学大纲 二、芯片设计及量产总体流程 芯片需求分析:即产品定义,功能要求,性能要求工艺选择及评估:不同工艺特性相差较大,不同工艺的成本也是不同的。主要用于评估工艺的性价比,工艺提供的元器件能不能…

pip install 过程中报错:Microsoft Visual C++ 14.0 is required.

这是因为电脑中缺少这个组件导致的,我们将这个组件安装上即可解决问题。 安装报错关键信息:Microsoft Visual C++ 14.0 is required. 目录 一、下载组件 二、 安装步骤 一、下载组件 阿里网盘:VisualStudioSetup.exe:

绝地求生:季后赛名额确定!NH战队总积分榜排名第一!

2024年5月5日,PCL春季赛常规赛第五阶段第三天比赛结束,今天打完春季赛常规赛结束,16个战队进入季后赛的名额已确定。NH战队总积分506分,总积分榜排名第一!!NH战队也是唯一一支总积分超过500分的队伍。今天最…