hive
文章平均质量分 71
燕京麦当当
大数据攻城狮,立志为同志们尽可能多的提供干货!
展开
-
大数据——What is 缓慢渐变维?
Slowly Changing Dimensions简称SCD ,"缓慢渐变维" 是一个术语,通常在数据分析和机器学习领域中使用。它指的是将高维数据空间中的点通过某种方式映射到一个较低维的空间中,同时保持尽可能多的原始数据信息。这个映射过程是逐渐的,而不是突然的,因此称为"缓慢渐变"。这个过程通常用于降维技术,例如主成分分析(PCA)和t-分布随机邻域嵌入(t-SNE)等。在实际应用中,通过降维,可以将高维数据转换成更易于理解和可视化的低维表示,同时保留了原始数据的结构和特征。原创 2024-05-13 21:08:14 · 878 阅读 · 0 评论 -
Hive优化(4)——数据倾斜优化
数据倾斜是指在数据处理或计算过程中,某些数据分布不均匀,导致部分计算节点负载过重,从而影响整体计算性能。针对数据倾斜进行优化可以提高计算效率和资源利用率。:在数据加载或处理之前,对数据进行预处理,通过数据采样、数据分桶等方法,尽量均匀地分布数据,减少倾斜的可能性。:将数据按照某种规则或算法进行分片,使得每个分片中的数据量相对均匀,降低数据倾斜的程度。:选择合适的数据结构,如哈希表、树结构等,可以减少数据倾斜对计算性能的影响。例如,使用哈希分区可以将数据均匀地分布到不同的节点上。原创 2024-05-11 09:23:23 · 1269 阅读 · 0 评论 -
Hive优化(3)——索引优化
在创建索引之前,了解数据和查询类型至关重要。识别查询中经常使用的列以及用于过滤、连接和排序的列。Hive支持各种存储格式,如ORC(优化行列式)、Parquet等。这些格式提供了用于数据检索的内置优化。根据数据和查询模式选择适当的格式可以在不需要额外索引的情况下提高性能。分区数据可以通过限制需要扫描的数据量显著减少查询时间。这是一种优化查询的有效方法,特别是对于大型数据集。分区也可以作为一种索引。桶化是另一种将数据组织成更易管理部分的技术。它根据列值的哈希将数据分成桶。原创 2024-05-11 08:23:58 · 1131 阅读 · 1 评论 -
Hive优化(2)——join优化
在Hive中,优化JOIN操作是提高查询性能的关键之一。JOIN操作是将两个或多个数据集中的记录基于某个共同字段进行关联的操作,它可能会消耗大量的计算资源和时间,尤其是在处理大型数据集时。优化Hive JOIN操作可以通过数据预处理、分区、数据倾斜处理、合适的JOIN类型选择、调整并行度和资源配置以及使用索引等方法来提高查询性能和执行效率。根据实际情况选择合适的优化策略,可以有效地提升Hive查询的性能。原创 2024-05-10 14:54:23 · 897 阅读 · 1 评论 -
Hive优化(1)——分桶采样
它的原理是将数据按照指定字段的哈希值分成固定数量的桶,将每条记录分配到对应的桶中。分桶可以帮助优化特定类型的查询,例如连接查询和聚合操作,因为它可以将数据分布得更加均匀,减少数据倾斜,提高查询效率。当表的数据量比较庞大的时候, 在编写SQL语句后, 需要首先测试 SQL是否可以正常的执行, 需要在表中执行查询操作, 由于表数据量比较庞大, 在测试一条SQL的时候整个运行的时间比较久, 为了提升测试效率, 可以整个表抽样出一部分的数据, 进行测试。这样可以在保持查询效率的同时,减少了对资源的需求。原创 2024-05-10 11:53:40 · 511 阅读 · 0 评论 -
使用Hive时几个重要配置
【代码】使用Hive时几个重要配置。原创 2024-04-30 14:30:39 · 289 阅读 · 2 评论 -
Hive进阶(5)----yarn的资源调度策略
YARN(Yet Another Resource Negotiator)是Apache Hadoop的资源管理器。它负责集群资源的管理和作业调度。:RM是YARN集群的主要组件之一。它负责整个集群的资源管理和调度。RM有两个主要组件:调度器(Scheduler)和应用程序管理器(ApplicationManager)。:调度器负责将集群资源分配给不同的应用程序。它有不同的实现,如容量调度器(Capacity Scheduler)和公平调度器(Fair Scheduler),每种调度器都有不同的调度策略。原创 2024-04-17 21:18:56 · 613 阅读 · 1 评论 -
Hive进阶(4)----MapReduce的计算过程(赋图助君理解)
MapReduce是一种编程模型和处理大规模数据集的方法。它通常用于分布式计算环境中,能够将数据处理任务分解成独立的部分,分配给多台计算机进行并行处理。这个模型由Google提出,并在开源领域中得到了广泛的应用和实现。MapReduce模型包含两个主要阶段,MapReduce的优点在于它的可伸缩性和容错性。它可以处理非常大的数据集,并且能够在计算过程中处理节点故障等问题,保证整个计算任务的完成。原创 2024-04-17 15:50:41 · 622 阅读 · 1 评论 -
Hive进阶(3)----SecondNameNode工作机制(赋图助君理解)
本机制可以参考《Hadoop权威指南》第十一章:fsimage文件其实是Hadoop文件系统元数据的一个永久性的检查点,其中包含Hadoop文件系统中的所有目录和文件idnode的序列化信息;fsimage包含Hadoop文件系统中的所有目录和文件idnode的序列化信息;对于文件来说,包含的信息有修改时间、访问时间、块大小和组成一个文件块信息等;而对于目录来说,包含的信息主要有修改时间、访问控制权限等信息。原创 2024-04-16 11:48:35 · 624 阅读 · 0 评论 -
Hive进阶(2)----HDFS写入数据流程(赋图助君理解)
7、 读取完一个block都会进行checksum验证,如果读取DataNode时出现错误,客户端会通知NameNode,然后再从下一个拥有该block副本的DataNode继续读。6、 当读完列表的block后,若文件读取还没有结束,客户端会继续向NameNode获取下一批的block列表;2、 NameNode会视情况返回文件的部分或者全部block列表,对于每个block,NameNode都会返回含有该block副本的DataNode地址;9、 最终读取来所有的block会合并成一个完整的最终文件。原创 2024-04-16 10:27:12 · 379 阅读 · 0 评论 -
HiveSql中的函数家族(二)
在 SQL 中,窗口函数(Window Functions)是一种特殊的函数,它允许在查询结果集的特定窗口(通常是一组行)上执行聚合、分析和计算操作,而无需聚合整个结果集。窗口函数可以用来解决许多复杂的数据分析问题,例如计算排名、累积总数、移动平均值等。窗口函数通常与 OVER 子句一起使用,该子句用于定义窗口的大小和位置。原创 2024-04-15 11:42:28 · 1335 阅读 · 1 评论 -
Hive进阶(1)----HDFS写入数据流程(赋图助君理解)
HDFS(Hadoop分布式文件系统)的数据写入流程是一个复杂但高效的过程,可以分为以下8个步骤:1、client(客户端)发起文件上传请求;2、通过发送RPC请求与NameNode建立通讯。NameNode进行检查其中包括:目标文件是否已存在、父目录是否存在、返回是否可以上传;2、client请求第一个 block该传输到哪些DataNode服务器上;原创 2024-04-15 10:05:23 · 622 阅读 · 1 评论 -
HiveSql中的函数家族(一)
SQL 中有各种类型的函数,包括聚合函数、标量函数、窗口函数和用户自定义函数等。以下是一些常见的 SQL函数:原创 2024-04-14 09:56:26 · 708 阅读 · 1 评论 -
Apache Hive
总的来说,Apache Hive作为一个建立在Hadoop生态系统之上的数据仓库工具,为处理大规模数据提供了一个强大而灵活的解决方案。通过其类SQL的查询语言HiveQL,用户可以轻松地在Hadoop集群上进行数据查询、分析和管理,从而实现对结构化数据的高效处理。我简要介绍了下从HiveQL到作业执行的整个过程以及Hive是如何利用Hadoop的分布式计算和存储能力来处理大规模数据以及Hive的远程连接使用。然而,随着大数据技术的不断发展和进步,Apache Hive也在不断演进。原创 2024-04-13 11:54:49 · 1343 阅读 · 0 评论