【大数据技术详解】——HIVE技术(学习笔记)

hive简介

Hive是基于Hadoop的数据仓库工具,可将结构化数据文件映射为数据库表,并提供类SQL查询功能(HQL)。其本质是将SQL语句转换为MapReduce任务运行,适合离线批处理场景。

核心概念

  • 元数据存储 :通常使用MySQL存储表结构、分区等信息。
  • 执行引擎:支持MapReduce、Tez、Spark等计算框架。
  • 数据模型:表(Table)、分区(Partition)、桶(Bucket)。

数据库与数据仓库的区别

数据库的设计目标是高效处理事务性操作,如插入、更新和删除数据,(改变数据)确保数据的实时性和一致性。数据仓库的设计目标是支持分析和报告,提供历史数据的聚合视图,便于业务分析和决策。

前者用于实时业务的操作,后者用于离线数据分析和决策。

Hive本身没有计算能力和存储能力。

主要用于查询,管理PB级别的数据

Hive分区的概念

Hive分区是一种将表数据按照特定列的值进行逻辑划分的机制,类似于文件系统中的目录结构。通过分区,可以显著提高查询效率,因为查询时可以只扫描特定分区的数据,而非全表扫描。

Hive分桶的概念

Hive分桶(Bucketing)是一种数据组织技术,通过哈希函数将数据均匀分布到固定数量的桶(文件)中。与分区(Partitioning)按目录划分不同,分桶是在文件级别对数据进行更细粒度的划分。(类似于余数相同的同一个文件夹都是为了加快查询速度)

常用命令示例

复制代码
-- 创建表(带分区)
CREATE TABLE user_logs (
    user_id STRING,
    action_time TIMESTAMP,
    url STRING
) PARTITIONED BY (dt STRING);

-- 加载数据
LOAD DATA INPATH '/path/to/data' INTO TABLE user_logs PARTITION (dt='2023-01-01');

-- 查询优化(启用本地模式)
SET hive.exec.mode.local.auto=true;

优化技巧

  • 分区裁剪:通过WHERE子句过滤分区减少扫描量。
  • JOIN优化 :小表放在JOIN左侧(MapJoin自动优化需开启hive.auto.convert.join=true)。
  • 压缩设置 :使用Snappy压缩减少IO(SET hive.exec.compress.output=true)。

数据类型

  • 基本类型:INT, STRING, BOOLEAN, FLOAT等。
  • 复杂类型:ARRAY<STRING>, MAP<STRING, INT>, STRUCT<name:STRING, age:INT>

注意事项

  • 避免全表扫描,合理设计分区字段。
  • 动态分区需启用配置(SET hive.exec.dynamic.partition.mode=nonstrict)。
  • 外部表(EXTERNAL TABLE)删除时仅删除元数据,不删除HDFS数据。

适用场景

适合离线批处理、历史数据分析,不适合低延迟的实时查询。常用于日志分析、报表生成等场景。

与Spark SQL对比

特性 Hive Spark SQL
执行速度 较慢(MR) 快(内存计算)
实时性 批处理 支持微批
语法兼容性 HQL ANSI SQL更贴近

建议通过实际场景练习分区管理、数据倾斜处理等进阶操作。

相关推荐
大模型码小白12 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
延凡科技15 小时前
多场景落地复盘:端边云架构无人机智能巡检系统设计与实践
大数据·数据结构·人工智能·科技·架构·无人机·能源
ifenxi爱分析16 小时前
爱分析最新报告解读:AI数据基础设施与数据中台的区别
大数据·人工智能
品牌全球行16 小时前
共商共建共享 链接数字未来——“一带一路数字新城(深圳)会客厅筹备办”揭牌仪式在深圳隆重举行
大数据·人工智能
数智化管理手记18 小时前
账龄分析手工统计易遗漏?自动账龄分析工具怎么搭建
大数据·网络·数据库·人工智能·数据挖掘
ApacheSeaTunnel19 小时前
Apache SeaTunnel AI CLI Benchmark:7 款大模型、100 个 ETL 任务实测,谁真正能跑起来?
大数据·ai·开源·大模型·数据集成·cli·seatunnel·技术分享·数据同步
电商API_1800790524719 小时前
企业ERP进销存场景|京东商品详情接口自动同步方案|凭证鉴权批量调用技术实操
大数据·运维·人工智能·爬虫·数据挖掘·网络爬虫
小稻穗20 小时前
市场调研样本选型坐标系:2026六家国内样本平台能力横向校验
大数据·运维·数据分析
极光代码工作室20 小时前
基于Spark的日志监控与分析平台
大数据·hadoop·python·spark·数据可视化
wuhanzhanhui21 小时前
从高强钢到碳纤维!2026武汉汽车材料轻量化制造技术展会,重塑未来造车新范式
大数据·汽车·制造