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

什么是Hive(新手易懂版)

一、什么是Hive

1. 问题思考

我们已经把 alert_orcl.log 上传到了 HDFS 的 /input 目录。

  • MapReduce(wordcount):需要写 Java 代码或者执行 jar 包,只能一次性运行。
  • Hive:只写 SQL 语句,不用编写代码,直接读取 HDFS 上已有的文件,筛选出以字母a开头的单词并统计数量,这就是 Hive 把 MapReduce 封装成 SQL 的优势。

2. 实现步骤

步骤 1:打开 Hive 客户端

hive

步骤 2:创建外部表,直接关联 HDFS 已有的数据文件

不用再次上传文件,直接映射 /input 目录:

-- 创建外部表,每行文本作为一整条记录 CREATE EXTERNAL TABLE log_words ( line STRING ) ROW FORMAT DELIMITED STORED AS TEXTFILE LOCATION '/input';

步骤 3:拆分每行文本为独立单词

利用 Hive 内置函数把一行里所有单词拆开,变成多行单个单词:

SELECT explode(split(line, ' ')) AS word FROM log_words;

步骤 4:筛选 a 开头的单词,并且统计总数

-- 统计所有以小写字母a开头的单词数量 SELECT COUNT(DISTINCT word) FROM ( SELECT explode(split(line, ' ')) AS word FROM log_words ) t WHERE word LIKE 'a%';

3. 引出 Hive:Hadoop 世界的 "SQL 翻译官"

Hive 就是让你用写 SQL 的方式去分析 HDFS 上的大数据的工具。

这行SQL你敲进去回车,Hive 会自动帮你翻译成一堆 MapReduce 任务,扔到 Hadoop 集群上去跑,最后把结果返回给你。你不用懂 MapReduce 怎么写,会 SQL 就行 —— 这就是 Hive 的价值。

二、为什么要先装 MySQL?

Hive 本身不存数据

  • 真实数据 → 存在 HDFS 上(以文件的形式分布式存储)
  • "数据的说明书" → 存在 MySQL 上(专业名叫 Metastore元数据

元数据包括什么?举例子:

  • 有一张叫 XXX 的表
  • 表里有几个字段
  • 每个字段是什么类型(字符串 / 数字)
  • 这张表的数据文件存在 HDFS 的哪个目录下

没有 MySQL 会怎样? Hive 就不知道自己有哪些表、数据存在哪。

三、Hive 简单验证

做验证之前先想三个问题:

  1. 我在 Hive 里 create table test,真实数据存哪了?
  2. MySQL 里会多出什么?为什么会多出东西?
  3. HDFS 上会有变化吗?变化的是什么?

HDFS /input/alert_orcl.log、Hive 映射外部表 log_words。

前置:我们创建的外部表语句

CREATE EXTERNAL TABLE log_words (line STRING) ROW FORMAT DELIMITED STORED AS TEXTFILE LOCATION '/input';

LOCATION 直接绑定 HDFS 原文件路径,是核心关键点。

步骤 1:查看 Hive 默认仓库目录,找不到表数据文件

# 1. 查看Hive默认存储仓库路径

hdfs dfs -ls /user/hive/warehouse

输出列表里没有 log_words 文件夹,没有任何和 alert_orcl.log 相关的数据文件。

步骤 2:查看真实数据仍然躺在原始 HDFS 路径

hdfs dfs -ls /input hdfs dfs -cat /input/alert_orcl.log

一张图总结三者关系

一句话总结:

Hive 不生产数据,它只是数据的 "翻译官" 和 "管理员"—— 说明书存在 MySQL,货物存在 HDFS,Hive 负责对接两头。

http://www.jsqmd.com/news/1256509/

相关文章:

  • 计算机毕业设计之天津铭嘉宠物公司在线售卖系统
  • 2026 年当下,云和诚信的玻纤嵌缝带工厂找哪家,揭秘:这小工具如何拯救你的缝隙难题 - 行业推荐官【官方】
  • 《派出你的AI同事:WorkBuddy案例实战》007:多语言翻译与本地化
  • microPython搭建webServer--(一)使用microdot库实现基本页面显示
  • 【Rust中级教程】1.6. 内存 Pt.4:静态(static)内存与‘static生命周期标注
  • CST电磁仿真:应用场景与核心用途全解析
  • 3分钟上手Cool Request:让Java开发者告别Postman的IDEA插件神器
  • 西安灞桥本地黄金回收实测测评|2026 城东居民出金避坑全攻略,30 年连锁老店全域上门无损验金 - 华金汇黄金回收
  • 7.24小记
  • 数据结构:跳表
  • 终极NVIDIA显卡色彩校准指南:用novideo_srgb解决广色域显示器过饱和问题
  • 提示词语气风格失控?90%的AI应用失败源于这3个隐形陷阱
  • 2026最好用的AI电商生图工具推荐:PixPix一站式解决电商设计难题
  • 2026年实力之选:苏州杭焕自动化设备有限公司——继电器与工业电气元器件一站式供应品牌机构 - 企业推荐官【官方】
  • Oracle Create user
  • LabVIEW部署Web服务
  • 工业大模型实时学习迭代机制:从“物理状态推演”到“端到端智能自动化”的深度技术解析
  • 【系统架构设计师】预测试卷十:综合知识(75道选择题)
  • 大麦网抢票脚本深度解析:从架构设计到性能优化的自动化解决方案
  • 2026 大连管道疏通口碑 TOP5 深度测评|正规疏通公司哪家好?资质_价格_上门速度全对比 - 园子一号
  • Mamba与YOLOv8结合的目标检测优化实践
  • 2026 玉州区黄金变现避坑指南!30 年本土连锁门店全覆盖,无损验金上门零收费,变现足额不亏 - 华金汇黄金回收
  • 上海居民闲置黄金变现避坑指南:区分品牌专柜与连锁回收价差根源 - 日常比对手册
  • “这一次,把力气用在刀刃上”
  • 2026 上海管道疏通口碑 TOP5 深度测评|正规疏通公司哪家好?资质_价格_上门速度全对比 - 园子一号
  • ComfyUI-Easy-Use终极指南:从零开始掌握AI绘画工作流设计
  • 3步配置GitHub Actions定时任务:让股票智能分析系统每天自动为你工作
  • AMD Ryzen处理器深度调试指南:5个核心技巧掌握硬件级性能调优
  • Python语言基础:9_字符串
  • Gemini决策仪表盘实战:用daily_stock_analysis提升你的股票投资决策效率