Hive 内容分享
文章平均质量分 91
hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。
之乎者也·
机车疾驰在路上,代码飞舞在指尖,热血与逻辑交织,创造属于我的数字世界。
展开
-
Spark内容分享(二十六):Hive SQL 迁移 Spark SQL 在网易传媒的实践
回顾整个方案的设计过程,实际上没有太多选择的余地,在没法在spark引擎层做兼容的前提,和以脚本提交任务的现状下,只能选择基于git版本管理的自动化迁移流程。方案能这么顺利实施,主要因为任务代码是以脚本的形式存在,这样我们可以很方便的用各种程序处理脚本源代码,避免了大量重复性的工作,特别是用git进行版本管理,如果我们的任务都写在了公司中台上,那么迁移工作量会大很多。原创 2024-01-03 09:16:27 · 907 阅读 · 0 评论 -
Hive内容分享(十五):Hive面试题分享
SparkSQL的前身是Shark,给熟悉RDBMS但又不理解MapReduce的技术人员提供快速上手的工具,hive应运而生,它是当时唯一运行在Hadoop上的SQL-on-hadoop工具。原创 2024-01-04 17:21:20 · 1021 阅读 · 0 评论 -
Hive内容分享(十四):Hive调优技巧
1.保留表的谓词写在join中不能下推,需要用where;2.空表的谓词写在join之后不能下推,需要用on;3.在 join关联情况下,过滤条件无论在join中还是where中谓词下推都生效;4.在full join关联情况下,过滤条件无论在join中还是where中谓词下推都不生效。原创 2024-01-04 16:54:07 · 357 阅读 · 0 评论 -
Hive内容分享(十三):Hive 核心知识点
相比 TEXTFILE 和 SEQUENCEFILE,RCFILE 由于列式存储方式,数据加载时性能消耗较大,但是具有较好的压缩比和查询响应。数据仓库的特点是一次写入、多次读取,因此,整体来看,原创 2024-01-04 16:11:22 · 388 阅读 · 0 评论 -
Hive内容分享(十二):Hive生产场景的十大经验总结
当进行Hive表的insert和update等更新操作时,相应的分区信息在metastore中更新,而前面提到的使用hdfs命令操作时,Hive的MetaStore元数据信息。: 基于预处理结果,根据GroupBy的 Key 分布到 Reduce 中,这过程保证相同的GroupBy Key被分布到同一个Reduce中,最后完成最终的聚合操作。,是一个高效地将小文件放入HDFS块中的文件存档工具。hive 中的小文件常发生于 hive 表中导入数据后,先看下 hive 导入数据的几种方式。原创 2024-01-04 10:57:49 · 867 阅读 · 0 评论 -
Hive内容分享(十一):Hive数据迁移
在数据量不大的情况下,Hive迁移一般常用的方式是使用Export、Import进行数据和元数据的导出导入,Export会将数据和元数据写到一起,并且元数据在恢复时是直接关联数据的,不需要再做其他的操作。一般在企业进行数据库改造、历史数据库区域创建、业务条线改造等,或是数据库出现瓶颈的情况下,会进行部分数据迁移,那么此时Hive迁移建议使用表和数据分步迁移的方式进行迁移。Hive的数据迁移其实有多种方式,根据需求不同采用的迁移方式也不尽相同,每种迁移的优势也是不同的,其中数据量是影响迁移的重要因素之一。原创 2024-01-04 09:13:55 · 1006 阅读 · 0 评论 -
Hive内容分享(十):Hive MetaStore 在快手遇到的挑战与优化
方案2是通过引入路由层,使用代理转发请求的方式来实现。总结一下,方案2的优点在于对Hive 没有侵入性,升级版本比较容易,可以灵活定制Router层策略,HA水平扩容,扩容MySQL时相对影响较小,上线风险较小,统一元数据入口,方便审计和溯源;其次,在HIVE的元数据查询上,存在大量的多表联合查询,尤其存储分区信息的两个大表(PARTITONS和PARTITION_KEY_VALS)之间的联合查询,会对服务带来很大压力,可能导致查询超时以及慢查询等问题,因此第二个优化方向是优化元数据API调用;原创 2024-01-04 08:05:27 · 838 阅读 · 0 评论 -
Hive内容分享(九):Hive DDL 操作与视图讲解
Hive是建立在Hadoop上的数据仓库工具,它允许用户通过类SQL的语法来查询和管理数据。在Hive中,DDL(数据定义语言)和视图操作是非常常见的。用语句来查看视图定义。总之,Hive中的DDL操作和视图操作可以帮助用户定义和管理表、视图等数据结构,从而更加灵活和高效地管理和查询数据。用户可以根据实际需求选择使用哪种操作方式,以达到更好的数据管理和操作效果。原创 2024-01-03 15:33:09 · 366 阅读 · 0 评论 -
Hive内容分享(八):Hive分区表:静态分区、动态分区、多重分区介绍
当Hive表对应的数据量大、文件多时,为了避免查询时全表扫描数据,Hive支持根据用户指定的字段进行分区,分区的字段可以是日期、地域、种类等具有标识意义的字段。比如把一整年的数据根据月份划分12个月(12个分区),后续就可以查询指定月份分区的数据,尽可能避免了全表扫描查询。因为hive是批处理系统,所以hive提供了一个动态分区功能,其可以基于查询参数的位置去推断分区的名称,从而建立分区。这里直接去HDFS查看区别。二、查询的时候尽量先使用where进行分区过滤,查询指定分区的数据,避免全表扫描。原创 2024-01-03 15:16:27 · 886 阅读 · 0 评论 -
Hive内容分享(七):Hive窗口函数
在SQL中有一类函数叫做聚合函数,例如sum()、avg()、max()等等,这类函数可以将多行数据按照规则聚集为一行,一般来讲聚集后的行数是要少于聚集前的行数的。但是有时我们想要既显示聚集前的数据,又要显示聚集后的数据,这时我们便引入了窗口函数。窗口函数又叫OLAP函数/分析函数,窗口函数兼具分组和排序功能。本文分为两部分:第一部分是Hive窗口函数详解,剖析各种窗口函数(几乎涵盖Hive所有的窗口函数);第二部分是窗口函数实际应用,这部分总共有五个例子,都是工作常用、面试必问的非常经典的例子。原创 2024-01-03 15:06:53 · 831 阅读 · 0 评论 -
Hive内容分享(六):Hive 内置函数和 UDF 讲解
Hive是基于Hadoop的一个数据仓库工具,可以将结构化数据文件映射为一张数据库表,并提供类SQL语句操作。Hive内置了很多函数,可以满足基本的查询需求,同时还支持自定义函数(UDF)来实现更加灵活的操作。官方文档:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF除了Hive内置函数之外,用户还可以自定义函数来实现更加灵活的操作。标量函数(UDF:将一行中的一个值转换为另外一个值,比如字符串转小写;集合函数(原创 2024-01-03 13:59:47 · 901 阅读 · 0 评论 -
Hive内容分享(五):hive 行转列,列转行一些函数
Hive中的explode函数用于将数组类型的列展开成多行数据,每行包含数组中的一个元素。在Hive中,collect_set函数用于将某一列中的元素收集到一个集合中,并去除重复的元素。在Hive中,collect_list函数用于将某一列中的元素收集到一个列表中,保留元素的顺序。通过使用explode函数,我们可以将数组类型的列展开成单独的行,以便更方便地进行进一步的分析、聚合或筛选操作。该函数返回一个列表,其中包含了表达式或列中的所有元素,并保留它们的顺序。该函数返回一个列,包含了数组中的每个元素。原创 2024-01-03 13:51:48 · 855 阅读 · 0 评论 -
Hive内容分享(四):Hive函数入门
如同RDBMS中标准SQL语法一样,Hive SQL也内建了不少函数,满足于用户在不同场合下的数据分析需求,提高开发SQL数据分析的效率。可以使用show functions查看当下版本支持的函数,并且可以通过describe function extended funcname来查看函数的使用方式和方法。Hive的函数很多,除了自己内置所支持的函数之外,还支持用户自己定义开发函数。原创 2024-01-03 13:44:58 · 902 阅读 · 0 评论 -
Hive内容分享(三):Hive 架构思想和设计原理
今天为大家推荐的是梦想家的Hive 架构思想和设计原理,希望对大家有启发。原创 2024-01-03 13:38:08 · 875 阅读 · 0 评论 -
Hive内容分享(二):Hive技术原理
数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。Hive是一个构建于Hadoop顶层的数据仓库工具,可以查询和管理PB级别的分布式数据。支持大规模数据存储、分析,具有良好的可扩展性某种程度上可以看作是用户编程接口,本身不存储和处理数据。依赖分布式文件系统HDFS存储数据。原创 2024-01-03 13:34:26 · 853 阅读 · 0 评论 -
Hive内容分享(一):Hive介绍
Hive是基于Hadoop的一个数据仓库(Data Aarehouse,简称数仓、DW),可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。是用于存储、分析、报告的数据系统。在Hadoop生态系统中,HDFS用于存储数据,Yarn用于资源管理,MapReduce用于数据处理,而Hive是构建在Hadoop之上的数据仓库,包括以下方面:使用HQL作为查询接口;使用HDFS存储;使用MapReduce或其它计算框架计算;执行程序运行在Yarn上。原创 2024-01-03 13:08:57 · 792 阅读 · 0 评论