当前位置: 首页 > news >正文

【分布式数据仓库Hive】HivQL的使用

目录

一、Hive的基本操作

1. 使用Hive创建数据库test

2. 检索数据库(模糊查看),检索形如’te*’的数据库

3. 查看数据库test详情

4. 删除数据库test

5. 创建一个学生数据库Stus,在其中创建一个内部表Student,表格包含两列:学号(字符型),姓名(字符型)

6. 修改表student表结构,添加新的一列:年龄,整数型

7. 创建一个表格名为employees,列名和数据类型根据常用习惯系定义,其表结构能载入如下格式的数据,并映射为表结构对应的字段。

二、Sogou日志数据分析

1. 统计每个uid的查询次数

2. 搜索关键字内容包含‘仙剑’超过三次的用户id

3. 统计不重复的uid的行数


一、Hive的基本操作

1. 使用Hive创建数据库test

create database test;show databases;  //查看数据库

2. 检索数据库(模糊查看),检索形如’te*’的数据库

show database like 'te*';

3. 查看数据库test详情

describe database test;

 

4. 删除数据库test

drop database test;

5. 创建一个学生数据库Stus,在其中创建一个内部表Student,表格包含两列:学号(字符型),姓名(字符型)

create database Stus;use Stus;create table student(
sno string,
sname string
);

6. 修改表student表结构,添加新的一列:年龄,整数型

alter table student add column(sage int);

7. 创建一个表格名为employees,列名和数据类型根据常用习惯系定义,其表结构能载入如下格式的数据,并映射为表结构对应的字段。

1,hengdian,1000.0,13872787890,Zhejiang

2,hengqin,1234.0,18739292798,Guangdong

3,baishui,8797.0,13490980090,Hunan

写出创建表格的语句,并使用load语句将上述数据内容载入表结构,该数据以文本文件的形式存放在本地文件系统,请自行用vi编辑器编辑。

data.txt

创建表的语法:

create table employees(
eno string,
ename string,
esal float,
phone string,
address string )
row format delimited 
fields terminated by ',' ;
descripe employees;

导入本地数据语法:

load data local inpath '/home/gdpu/data.txt' into table employees;
select * from employees; 

二、Sogou日志数据分析

请完成创建外部表格并关联sogou的500w数据,使用HiveQL完成下列数据分析。写出Hive语句和执行结果。

create table sogou2024 (
times string,
uid string,
keyword string,
ranks int,
orders int,
URL string )
row format delimited 
fields terminated by '\t';

 

load data inpath 'hdfs://hadoop100:8020/sogou.500w.utf8' into table sogou2024;
select * from sogou2024 limit 10;  //验证是否导入成功

1. 统计每个uid的查询次数

select uid, count(*) as cnt from sogou2024 group by uid;

 下面的截图是执行结果的最后一部分,结果有135万多行。

2. 搜索关键字内容包含‘仙剑’超过三次的用户id

select uid 
from sogou2024 
where keyword like’%仙剑%’group by uid 
having count(*) > 3 ;

运行截图 :

3. 统计不重复的uid的行数

select count(distinct uid) as unique_uid_count from sogou2024;

运行截图: 

4. 统计搜索的关键字词频,找出查询频度超过20的关键词和其频度,按照频度从高到低排列。

select keyword , count(*) as frequencyfrom sogou2024group by keywordhaving count(*) > 20order by frequency desc;

运行截图:  

相关文章:

  • Git 基础-创建版本库 git init、添加到暂存区git add、查看状态git status、查看改动git diff
  • ESP32-VScode环境设置
  • 无线WiFi毫米波雷达传感器成品,智能照明人体感应开关,飞睿智能点亮智慧生活
  • js学习--制作选项卡
  • 【LLM 论文】Self-Refine:使用 feedback 迭代修正 LLM 的 output
  • 微信小程序tabar属性
  • 使用 C# 和 OpenXML 读取大型 Excel 文件
  • vue3+vue-router+vite 实现动态路由
  • react动态渲染列表与函数式组件
  • 智能体实战:开发一个集成国内AI平台的GPTs,自媒体高效智能助手
  • 用网上抓取的天气的接口做了一个系统
  • php中闭包(Closure)的bindTo函数用法
  • 详细介绍MySQL的索引(下)
  • [深度学习] 自编码器Autoencoder
  • C++用Crow实现一个简单的Web程序,实现动态页面,向页面中输入数据并展示
  • JS 中的深拷贝与浅拷贝
  • 08.Android之View事件问题
  • bootstrap创建登录注册页面
  • canvas 绘制双线技巧
  • interface和setter,getter
  • Mithril.js 入门介绍
  • Mysql优化
  • MySQL主从复制读写分离及奇怪的问题
  • Node + FFmpeg 实现Canvas动画导出视频
  • PHP面试之三:MySQL数据库
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • 对JS继承的一点思考
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 移动端 h5开发相关内容总结(三)
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​Java并发新构件之Exchanger
  • # 计算机视觉入门
  • #传输# #传输数据判断#
  • (11)MSP430F5529 定时器B
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (分类)KNN算法- 参数调优
  • *1 计算机基础和操作系统基础及几大协议
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .net 后台导出excel ,word
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • ?
  • @Autowired @Resource @Qualifier的区别
  • @converter 只能用mysql吗_python-MySQLConverter对象没有mysql-connector属性’...
  • @RequestBody详解:用于获取请求体中的Json格式参数
  • [ vulhub漏洞复现篇 ] Hadoop-yarn-RPC 未授权访问漏洞复现
  • [ActionScript][AS3]小小笔记
  • [AI Google] Ask Photos: 使用Gemini搜索照片的新方法
  • [Angular 基础] - 数据绑定(databinding)
  • [BT]BUUCTF刷题第4天(3.22)
  • [BUG] Authentication Error
  • [C/C++随笔] char与unsigned char区别
  • [C++]运行时,如何确保一个对象是只读的
  • [Deepin 15] 编译安装 MySQL-5.6.35