自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 初步了解数据仓库

数据仓库能够集中、整合多个来源的大量数据,借助数据仓库的分析功能,企业可从数据中获得宝贵的业务洞察,改善决策。换言之,准备就绪后,数据不会立即进入数据仓库,而是会被移至适当的数据集市。企业还可以在一个MySQL Database服务中集成集事务处理、实时分析(数据仓库和数据湖)和机器学习功能,消除ETL (提取、转换、加载)复制的复杂性、延迟、成本和风险。沙盒:沙盒可提供一个专有的安全区域,帮助企业快速、非正式地探索新的数据集或新的数据分析方式,而无需遵守或遵循数据仓库的正式规则和协议。

2024-07-09 02:09:54 151 1

原创 HiVE函数

- 结果是 'hello' SELECT upper('hello');-- 结果是 'HELLO' SELECT concat('Hello', ' World');-- 结果是 'Hello World' SELECT substr('Hello World', 1, 5);-- 结果是 'true' SELECT coalesce(NULL, 'default');-- 结果是 'default' SELECT nvl(NULL, 'default');-- 结果是 'true'

2024-07-09 02:09:21 214

原创 Hive视图

性能开销:视图虽然提供了一种方便的查询封装,但是在执行查询时,Hive 需要将视图的定义展开,并将其转换为对底层表的实际操作,这可能会带来性能开销。分区和桶:如果视图基于分区或桶的表,那么视图必须包含这些分区或桶的信息,否则会导致查询失败。封装复杂逻辑:视图可以包含复杂的逻辑,比如联接、子查询等,使得查询的执行更加高效。简化查询:视图可以将复杂的查询封装起来,使得后续的查询操作只需要引用视图名称。索引:视图不支持索引,如果底层表有索引,对视图的查询效率可能会受影响。

2024-07-09 02:08:50 172

原创 Hive联合查询

联合查询的结果集包含了所有参与 SELECT 语句的行,并且会自动去除重复的行。执行联合查询时,Hive 会将多个 SELECT 语句的结果集合并起来,这可能会消耗较多的资源,特别是当处理大量数据时。这里的 SELECT 语句可以是简单的查询,也可以是复杂的查询,只要它们的列数相同,对应列的数据类型也兼容即可。排序:如果需要对结果集进行排序,只能对最终的结果集进行排序,而不是每个 SELECT 语句单独排序。这个查询会返回 table1 和 table2 中的所有行,并且自动去除重复的行。

2024-07-09 02:08:20 224

原创 Hive索引

对于具有高基数的列,COMPACT 索引会使用 BLOOMMAP 来减少需要读取的数据量,对于低基数的列,它会使用 BITMAP 来提供更快的查询性能。BITMAP 索引是最简单的索引类型,适用于低基数列,即列中的唯一值数量相对较少的情况。在 Apache Hive 中,索引用于加快数据检索速度,类似于数据库中的索引。BLOOMMAP 索引是一种基于布隆过滤器的索引,适用于高基数列,即列中的唯一值数量非常多的情况。但是,索引的使用并不是万能的,它们可能会带来额外的开销,包括索引维护和潜在的空间占用。

2024-07-09 02:07:43 206

原创 Hive DDL操作

这个操作会在 my_database 数据库中创建一个名为 employees 的表,如果它还不存在的话。在 Apache Hive 中,数据定义语言(DDL)操作用于创建、更改和删除数据库、表和其他 Hive 对象。这个操作会将 my_database 数据库设置为当前数据库上下文,后续的操作将会在这个数据库中执行。这个操作会在 Hive 中创建一个名为 my_database 的数据库,如果它还不存在的话。这些操作分别展示了添加列、更改列类型、重命名列和删除列的功能。

2024-07-09 02:07:13 642

原创 Hive DML操作

这个操作会查询 employees 表中 department 为 'IT' 的员工的名字和工资,并按工资降序排列,只返回前 10 条记录。这个操作会将 employees 表中 department 为 'IT' 的所有记录插入到 employees_backup 表中。在 Apache Hive 中,数据操作语言(DML)操作用于查询和操作数据。这个操作会将 employees 表中 department 为 'IT' 的所有员工的工资增加 10%。在执行 DML 操作之前,请确保你有相应的权限。

2024-07-09 02:06:35 390

原创 Hive 元数据

元数据存储在 Hive 的目录中,通常是 Hadoop 分布式文件系统(HDFS)上的一个特殊目录。Hive 提供了一些元数据操作命令,如 CREATE DATABASE、DROP DATABASE、CREATE TABLE、DROP TABLE、ALTER TABLE 等,用于创建、删除、修改数据库和表的结构。由于 Hive 元数据是存储在 HDFS 上的,所以可以通过简单的文件系统操作来备份和恢复元数据。桶(Bucket):Hive 还支持桶,它是分区的进一步细化,用于更细粒度的数据存储和查询优化。

2024-07-09 02:06:02 735

原创 Hive窗口函数

在 Apache Hive 中,窗口函数是一种特殊类型的函数,它允许你在查询中对分区数据执行复杂的分析。以下是一些常见的窗口函数以及如何在 Hive 中使用它们的示例。分析函数(Analytic Functions):如 LAG、LEAD、FIRST_VALUE、LAST_VALUE 等,用于访问窗口内的相关行。在这个查询中,SUM(sales_amount) 是一个窗口函数,它计算每个产品 ID 分区内按销售日期排序的销售金额的累积和。确保你的查询设计得当,以便利用窗口函数的优势,并避免不必要的计算。

2024-07-09 02:05:32 770

原创 Hive存储结构

每个表都有一个模式,定义了列的名字、类型和其他属性。表可以存储在HDFS上,也可以存储在其他Hive支持的存储系统中。在Hive中,数据库是一个逻辑上的命名空间,它可以包含一张或多张表。存储格式定义了数据在HDFS上的存储方式。Hive支持多种存储格式,包括TEXTFILE、PARQUET、ORC、AVRO等。分区是表的一个特性,它允许你根据某些列的值将数据划分为多个目录。分区可以提高查询效率,因为Hive可以跳过不必要的目录。外部表是基于外部数据创建的表,它的数据存储在Hive之外,通常是在HDFS上。

2024-07-09 02:05:05 296

原创 Hive元数据

在Hive中,元数据是关于数据库、表、分区和其他Hive对象的信息,这些信息被存储在一个关系数据库中,通常是Derby或MySQL。Hive元数据对于管理和查询Hive数据非常重要,因为它提供了关于表结构、数据位置、分区信息等的详细信息。在生产环境中,为了高可用性和容错性,通常会使用支持高可用性和故障转移的元数据存储解决方案,如Apache Ambari、Cloudera Manager或Hive Metastore服务。外部表是基于外部数据创建的表,它的数据存储在Hive之外,通常是在HDFS上。

2024-07-09 02:03:47 386

原创 Hive调优

调整内存设置:根据实际情况调整Hive的内存设置,包括hive.mapred.map.java.opts和hive.tez.container.size等。并行执行:通过调整hive.exec.parallel和hive.exec.parallel.thread.number来允许Hive并行执行任务。开启详细日志:通过设置hive.exec.com.sun.tools.javac.code=true来获取详细的编译器信息。定期清理元数据:删除不再需要的元数据条目以减少元数据的大小和查询时间。

2024-07-09 02:02:31 163

原创 Hive函数与Streaming

另外,可能还需要考虑数据的持久性和容错性,确保即使在发生故障时,数据也不会丢失。执行 SQL 语句。确保你的 Hive 已经配置好,并且可以通过 JDBC 连接到 Hive 服务器。在 Kafka Streams 应用程序中,你需要添加 Hive JDBC 驱动作为依赖项。// 创建 Kafka Streams 应用程序。// 启动 Kafka Streams 应用程序。处理这些数据,并将结果转换为可以插入到 Hive 表中的格式。// Kafka Streams 配置。// Hive JDBC 配置。

2024-07-09 01:59:54 304

原创 Hive自定义函数

如果需要使用其他编程语言编写 UDF,例如 Python,需要确保 Python 脚本可以在 Hive 的环境中执行,并且能够被 Hive 调用。创建一个实现了 org.apache.hadoop.hive.ql.exec.UDF 接口的 Java 类,或者使用其他支持的语言。将打包的 JAR 文件(如果使用 Java)或者包含函数代码的脚本(如果使用其他语言)添加到 Hive 的类路径中。在 Hive 中使用 ADD JAR 命令或者在 hive-site.xml 文件中配置来添加 JAR 文件路径。

2024-07-09 01:57:57 133

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除