Hive数仓操作(十七) 一、Hive 四种存储格式在 Hive 中,支持四种主要的数据存储格式,每种格式有其特点和适用场景,不过一般只会使用Text 和 ORC 二、Hive 行列存储三、Hive 压缩格式1. TEXTFILE压缩算法:可使用 Gzip、Bzip2 等压缩算法。四、Hive 建表手册创建表的基本语法
Hive数仓操作(十六) Hive的DML语句一、 插入操作INSERT一般不会单条或几行插入,使用多表复制即可二、更新操作UPDATE 和删除操作 DELETE数仓中的数据存在即有意义,一般不会进行更新和删除操作,虽然公司不用但一般都有这些功能,了解即可,反正我没用过更新和删除操作的条件表必须为分桶表:表格需要使用分桶(Bucketing),这可以提高数据的管理和查询效率。数据存储格式:表格的数据必须存储为 ORC 格式,而不能是文本格式。ORC 格式支持 ACID 操作的事务特性。事务支持:表格必须启用
Hive数仓操作(十五) Hive 开窗函数窗口函数的基本组成部分窗口边界标识符窗口边界函数示例数据集SQL 查询运行结果1. 查询在2017年4月份购买过的顾客Hive窗口函数是一种特殊的函数,允许用户在查询中对一组行进行计算,而不仅仅是单独的行。窗口函数可以在 SQL 查询中进行聚合、排名、累积计算等。这使得窗口函数在数据分析和报告生成中非常有用。
Hive数仓操作(十四) 一、Hive的DDL语句1. 创建数据库和表2. 修改表示例注意3. 删除数据库和表4. 分区和分桶5. 修改分区二、Hive的子查询查询出和10号部门的工作岗位相同的其他部门的员工信息1. IN 子查询(由于HIVE莫名的不可抗力会经常报错,建议用后两种方法)2. LEFT SEMI JOIN
Hive数仓操作(十三) 一、JSON 数据1. JSON 特点2. JSON 的语法3. JSON 在 Hive 中的使用get_json_object()二、HIVE的JSON 数据处理示例数据格式第一步:提取数据第二步:数据处理JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,在不同的编程语言之间进行数据传输时非常通用和常用。JSON 格式简单直观,易于阅读和编写,并且可以被大多数编程语言轻松解析和生成。
Hive数仓操作(十二) 一、Hive 中的行列转换1. 行转列: collect_list()2. 行转列:collect_set()3. 列转行:explode()二、Hive 收集切割1. split()2. split()常和concat_ws() 一起使用行转列: collect_list()collect_list() 函数用于将一个列中的数据收集成一个数组。 列转行:explode()explode() 函数用于将数组里的元素拆分开来,并用行展示。通常与 lateral view 函数搭配使用。
Hive数仓操作(十一) 一、Hive 日期函数二、Hive 条件函数三、Hive 空值处理函数四、聚合函数常用的聚合函数有 MAX、SUM、COUNT、MIN、AVG 以及 GROUP BY 和 HAVING 的用法和 Mysql、Oracle 是一样的。在日常的数据处理工作中,日期和时间的处理是非常常见的操作。Hive 提供了丰富的日期函数,能够帮助我们方便地进行日期和时间的计算。本文将详细介绍 Hive 中常用的日期函数,并通过具体的示例展示其用法和结果。
Hive数仓操作(十) 一、Hive 分页查询1. 基本用法2. 基本语法:3. 示例4. 注意事项二、Hive 常用函数1. 查看和描述系统自带的函数2.常用字符串函数在大数据处理中,分页查询是非常常见的需求。Hive 提供了LIMIT和OFFSET关键字来方便地进行分页操作。本文将详细介绍它们的用法。
Hive数仓操作(九) 一、Hive的DQL查询顺序二、Hive的排序方式Hive有四种排序方式,也称为四个By1. Order By2. Sort By3. Distribute By4. Cluster ByHQL语法基本上与传统的SQL一致,包括SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY和LIMIT等关键步骤。
Hive数仓操作(八) 一、Hive中的分桶表1. 分桶表的概念2. 分桶表的原理3. 分桶表的用途4. 分桶表的创建5. 分桶表的查询6. 分桶与分区的区别分桶表是Hive中一种用于提升查询效率的表类型。分桶指的是根据指定列的哈希值将数据划分到不同的文件(桶)中。当两个表的连接字段作为分桶字段时,且分桶数量相等或成倍数关系时,能够加快连接速度。支持抽样查询:可以快速获取数据的样本
Hive数仓操作(七) 一、 Hive动态分区表1. 动态分区与静态分区的区别2. 动态分区设置示例二、 Hive外部分区表1. 创建外部分区表2. 挂载已有分区数据3. 自动修复分区外部分区表关联数据的方静态分区:在插入数据时,需要手动指定分区字段的值。动态分区:分区字段的值是根据数据中的某个字段自动生成的,用户只需指定分区字段的类型。数据加载方式:静态分区:可以通过 LOAD DATA 和 INSERT ... SELECT 加载数据。动态分区:只能通过 INSERT ... SELECT 加载数据。
Hive数仓操作(六) 一、 Hive 分区表1. 创建分区表2. 查看分区信息3. 分区表的创建示例一:创建分区表并加载数据示例二:将已有表转化为分区表二、 Hive 分区操作三、 Hive脚本化运行Hive 的分区表通过在 HDFS 中以不同的目录存储不同的分区数据,来提高查询性能并减少数据扫描量。分区表可以根据特定的列(如性别列的男女)将数据划分为多个部分,使得查询时只需要扫描相关的分区,而不是整个表,下文讲解一下静态分区表。
Hive数仓操作(五) 一、Hive 信息查看二、 Hive表的复制方式三、 Hive表的插入方式四、Hive 中的内部表与外部表Hive 将表的元数据(如表名、列名、类型等)存储在关系型数据库中,通常是 MySQL。元数据的主要表包括:TBLS:存储表的信息(表名、类型、ID 等)。COLUMNS_V2:存储每个列的详细信息(列名、类型等)。DBS:存储数据库的信息。SDS:存储数据文件的位置。
Hive数仓操作(四) 一、Hive 创建表案例一(ARRAY数组类型)1. 准备数据文件2. 上传文件到 HDFS3. 创建 Hive 数据库4. 使用数据库5. 创建 Hive 表6. 加载数据到表中7. 测试查询数据8. 多次查询的示例9. 插入新数据二、Hive 创建表案例二(MAP类型)1. 数据文件
Hive数仓操作(三) 一、Hive 数据库操作5. 显示数据库信息二、Hive 创建内部表Hive 表的类型创建内部表的步骤创建表的语法结构三、Hive 内部表的其他操作1. 向内部表中插入数据2. 查询内部表3. 删除内部表4. 更新内部表从 HDFS 导入数据从本地Linux导入数据查询表的数据
Hive数仓操作(二) Hive 数据类型与连接一、Hive 基本数据类型-二、Hive 集合数据类型-三、数据导入 Hive-四、Hive的连接-1. 直接使用 Hive 客户端2. 使用 Beeline 客户端3. 使用第三方工具连接Hive 是一个用于处理大规模数据集的工具,支持多种数据类型以满足不同的需求。本文将详细介绍 Hive 的基本数据类型和集合数据类型。
Hive数仓操作(一) Hive 介绍1. Hive 的本质: HQL转化为MapReduce2. Hive 的执行流程3. Hive 的优点4. Hive 和关系型数据库的比较5. Hive 的元数据存储Hive 是一个基于 Hadoop 的数据仓库工具,旨在简化大规模数据集的管理和分析。它将结构化数据文件映射为表,并提供类似 SQL 的查询功能。Hive 的数据存储在 Hadoop 分布式文件系统(HDFS)中,使用 Hive 查询语言(HQL)进行数据处理。