Hive表使用ORC格式和SNAPPY压缩建表语句示例

Hive表使用ORC格式和SNAPPY压缩建表语句示例

下面是一个sql示例:

c 复制代码
-- 创建数据库
CREATE DATABASE IF NOT EXISTS mydatabase;

-- 使用数据库
USE mydatabase;

-- 创建分区表,使用ORC文件格式,采用Snappy压缩算法
CREATE TABLE IF NOT EXISTS my_table (
id INT,
name STRING
)
PARTITIONED BY (dt STRING)
STORED AS ORC
LOCATION '/user/hive/warehouse/my_table'
TBLPROPERTIES ("orc.compress"="snappy");

-- 加载数据到分区表
INSERT INTO my_table PARTITION (dt=20240101) VALUES
(101, 'Alice'),
(102, 'Bob');

-- 查询分区表数据
SELECT * FROM my_table;

在这个示例中:

  • 首先创建了一个名为 mydatabase 的数据库并切换到该数据库。
  • 创建了一个名为 my_table 的分区表 ,包含了 id 和 name 两列。
  • 使用 PARTITIONED BY (dt STRING) 对表进行了日期分区,将数据按照日期进行分区存储。
  • 使用 STORED AS ORC 指定了使用ORC文件格式存储数据,ORC是Hive中常用的列式存储格式。
  • 使用 LOCATION 指定了表的存储路径。
  • 使用 TBLPROPERTIES ("orc.compress"="snappy") 设置了压缩算法为SNAPPY,对数据进行压缩存储。

Hive支持的常用文件格式

  • ORC(Optimized Row Columnar):列式存储格式,提供高压缩比和高性能的查询。

  • Parquet:另一种列式存储格式,支持高效的压缩和查询。

  • Text:文本文件格式,易于阅读和处理。

  • SequenceFile:Hadoop中的二进制文件格式,适合大数据存储和处理。
    Hive支持的常用压缩算法

  • SNAPPY:快速压缩算法,提供较高的压缩比和速度。

  • GZIP:通用的压缩算法,提供较高的压缩比,但速度相对较慢。

  • LZO:高效的压缩算法,支持快速压缩和解压缩,适合大数据处理。

  • BZIP2:提供更高的压缩比,但速度较慢,适合对存储空间要求较高的场景。


在选择压缩算法时,一般可以考虑以下几个因素

  1. 压缩比:不同的压缩算法具有不同的压缩比,一般来说,压缩比越高,存储空间占用越小,但可能会影响查询性能。
  2. 压缩速度:有些压缩算法压缩速度较快,适合对数据进行频繁压缩,而有些压缩算法压缩速度较慢,但压缩比较高。
  3. 解压速度:压缩算法解压速度也是一个重要考虑因素,因为查询时需要解压数据。
相关推荐
Coder_Boy_5 小时前
技术让开发更轻松的底层矛盾
java·大数据·数据库·人工智能·深度学习
2501_944934735 小时前
高职大数据技术专业,CDA和Python认证优先考哪个?
大数据·开发语言·python
Gain_chance5 小时前
34-学习笔记尚硅谷数仓搭建-DWS层最近一日汇总表建表语句汇总
数据仓库·hive·笔记·学习·datagrip
九河云6 小时前
5秒开服,你的应用部署还卡在“加载中”吗?
大数据·人工智能·安全·机器学习·华为云
Gain_chance7 小时前
36-学习笔记尚硅谷数仓搭建-DWS层数据装载脚本
大数据·数据仓库·笔记·学习
数据知道7 小时前
PostgreSQL 故障排查:如何找出数据库中最耗时的 SQL 语句
数据库·sql·postgresql
每日新鲜事7 小时前
热销复盘:招商林屿缦岛203套售罄背后的客户逻辑分析
大数据·人工智能
枷锁—sha7 小时前
【SRC】SQL注入WAF 绕过应对策略(二)
网络·数据库·python·sql·安全·网络安全
Gain_chance7 小时前
35-学习笔记尚硅谷数仓搭建-DWS层最近n日汇总表及历史至今汇总表建表语句
数据库·数据仓库·hive·笔记·学习
AI架构全栈开发实战笔记8 小时前
Eureka 在大数据环境中的性能优化技巧
大数据·ai·eureka·性能优化