
Hive 知识体系
文章平均质量分 52
hive 数仓
故事写在心里-
《所有的王者都是从青铜过来的,没有捷径》靠自己A.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Parquet 与 ORC 区别
两者主要共性都是apache顶级项目,都是高性能的列式存储格式Parquet和Orc都是以二进制方式存储的,所以不可以直接读取支持的编码格式(游程,字典,增量,bit),压缩格式(zlib,snappy,LZO等等)基本一致两者主要差异...原创 2022-03-14 22:34:42 · 706 阅读 · 0 评论 -
hive 数据倾斜
数据倾斜结合篇:https://www.cnblogs.com/qingyunzong/p/8847597.html数据倾斜:现象:当有多个reduce时,其中有大量的数据全部集中到某一个或者几个reduce中时本质原因: 1)、key分布不均匀 2)、业务数据本身的特性 3)、建表时考虑不周 4)、某些SQL语句本身就有数据倾斜表现:任务进度长时间维持在99%(或100%),查看任务监控页面,发现只有少量(1个或几个)reduce子任务未完成。因为其处理的数据量和其他reduce差异原创 2022-03-14 17:45:52 · 1632 阅读 · 0 评论 -
数仓面试题
什么是数据仓库呢?数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、数据集成的(Integrated)、相对稳定(非易失)的(Non-Volatile)、反映历史变化(时变)(Time Variant)的数据集合, 用于支持管理决策(Decision Making Support)。说白了就是企业想做数据分析,但存在数据孤岛和数据量太大的问题,所以做一个能够系统解决集中存储,海量数据计算和最好支撑SQL的东西叫做数据仓库数据仓库和传统的业务数据库有什么区别?原创 2022-02-27 14:38:31 · 261 阅读 · 0 评论 -
企业中使用的数仓分层 架构 (图)
原创 2022-02-18 22:40:31 · 552 阅读 · 0 评论 -
推荐一个DB连接工具,比Navicat还要好用,功能很强大
一、概念篇:1、作为大数据开发人员,在公司使用的就是本章节要介绍的利器DBeaver2、dbeaver是免费和开源(GPL)为开发人员和数据库管理员通用数据库工具。易用性是该项目的主要目标,是经过精心设计和开发的数据库管理工具。免费、跨平台、基于开源框架和允许各种扩展写作(插件)。它支持任何具有一个JDBC驱动程序数据库。3、大数据开发人员不需要直接去连接集群, 有效保护集群的信息,告诉IP地址即可查看对应的库。4、本人在公司使用这款工具的时候,发现了一个漏洞,关于表权限的问题。在用户名那块有原创 2020-11-01 15:58:11 · 1908 阅读 · 0 评论 -
推荐一款免费的数据库管理工具,比Navicat还要好用,功能还很强大
DBeaver 是一个基于 Java 开发,免费开源的通用数据库管理和开发工具,使用非常友好的 ASL 协议。可以通过官方网站或者 Github 进行下载。由于 DBeaver 基于 Java 开发,可以运行在各种操作系统上,包括:Windows、Linux、macOS 等。DBeaver 采用 Eclipse 框架开发,支持插件扩展,并且提供了许多数据库管理工具:ER 图、数据导入/导出、数据库比较、模拟数据生成等。DBeaver 通过 JDBC 连接到数据库,可以支持几乎所有的数据库产品,包括:My原创 2020-10-17 16:42:56 · 1840 阅读 · 0 评论 -
用户行为 数仓项目.
ODS------>原始数据层,不做处理DWD-----> 是要借助中间表进行解析。自定义UDF函数和UDTF 函数DWS----->服务数据层在这层通常会有以某一个维度为线索,组成跨主体的宽表,比如:一个用户的当日签到数、收藏数、评论数、抽奖数、订阅数、点赞数、浏览商品数、添加购物数、退款数、下单数等等宽表:就是两张表合集成一张表。ADS------>数据应用层为各种统计报表提供数据1.第一大步骤.(1)ODS 层加载数据的shell 脚本封装.2)封装完成要原创 2020-09-28 17:04:19 · 169 阅读 · 0 评论 -
项目经验之元数据备份MySQL
元数据备份(重点,如数据损坏,可能整个集群无法运行,至少要保证每日零点之后备份到其他服务器两个副本)环境说明:1、系统版本:Centos 7.02、mysql 版本:5.6.353、安装用户:masterMySQL 源数据备份:4、MySQL master10.8.8.23MySQL SlAve:10.8.8.24 两台部署在不同的服务器节点上、5. 目标:1)通过虚拟IP的3306端口对外提供MySQL 服务2)通过keepalived 自动切换MySQL 的maste原创 2020-09-28 11:42:46 · 473 阅读 · 0 评论 -
Hive 的运行机制
一、Hive 架构图二、运行机制图流程大致步骤为:用户提交查询等任务给Driver。编译器获得该用户的任务Plan。编译器Compiler根据用户任务去MetaStore中获取需要的Hive的元数据信息。编译器Compiler得到元数据信息,对任务进行编译,先将HiveQL转换为抽象语法树,然后将抽象语法树转换成查询块,将查询块转化为逻辑的查询计划,重写逻辑查询计划,将逻辑计划转化为物理的计划(MapReduce), 最后选择最佳的策略。将最终的计划提交给Driver。Driver将计原创 2020-09-28 11:25:25 · 2182 阅读 · 0 评论 -
Hive 四种排序 (亲手实战 + 理解,烦请您过目)
文章目录:1、全局排序 (order by)① 使用order by排序的子句在select 结尾处。降序:desc升序:asc 不需要指定,默认是升序②案例实操:结果:2、区内排序 (sort by )分区字段 (distribute by)设置reduces 个数:set mapreduce.job.reduces = 3;distribute by 分区字段 store by 排序字段 联合使用②案例实操:不是全局排序,其在数据进入reducer前完成排序。因此,如果用sort by进行排序,并且原创 2020-05-26 18:39:43 · 8745 阅读 · 59 评论 -
Hive 企业级 参数调优专篇 .
Hive 企业级调优点整理目录:Hive 企业级调优点整理1、Fetch 抓取2、本地模式1)开启本地模式,并执行查询语句2)关闭本地模式,并执行查询语句3、表的优化4、MapJoin5、 Group By数据倾斜文章:6、 Count(Distinct) 去重统计7、笛卡尔积8、 行列过滤案例实操:9.动态分区调整10 、小文件进行合并11、开启并行执行12、严格模式13、JVM 重用14、推测执行15、压缩16、执行计划(Explain) 【转载注明出处,还望尊重原创 】 【作者水平有限,如有错误欢原创 2020-05-18 13:53:00 · 1628 阅读 · 36 评论 -
HiveServer、HiveServer2 区别
hiveServer/HiveServer2 区别1:简单介绍两者都允许远程客户端使用多种编程语言,通过HiveServer或者HiveServer2,客户端可以在不启动CLI的情况下对Hive中的数据进行操作,这两个和都允许远程客户端使用多种编程语言如java,python等向hive提交请求,取回结果(从hive0.15起就不再支持hiveserver了),但是在这里我们还是要说一下hiveserverHiveServer或者HiveServer2都是基于Thrift的,但HiveSever有时被原创 2020-05-13 15:21:51 · 3193 阅读 · 11 评论 -
Hive 优化篇干货 整理
Hive 优化 ? Hive SQL本质就是MapReduce1.任务层:在小数据量的时候我们可以开启本地模式(单台机器可以处理所有的任务。对于小数据集可以明显缩短)、因为跑MR的话启动时间会花费很长一段时间(2)hive.fetch.task.conversion设置成 more,然后执行查询语句,如下查询方式都不会执行 mapreduce 程序。2.存储和压缩层:存储格式和数据压缩(ORC 、数据压缩可以减少磁盘IO和网络IO,从而加快数据的传输)3.参数层:Reduce 个数的设置。R.原创 2020-05-13 15:13:32 · 342 阅读 · 8 评论 -
SQL中 with函数的详解与用法
前言:前几天在工作中有跟同事学习到了一个新的SQL写法,那就是今天所有记录的with as 关键字的用法与学习。见谅我是个案板上的小菜鸡,学起来那咱就。1、关键字作用:WITH AS短语,也叫做子查询部分,定义一个SQL片断后,该SQL片断可以被整个SQL语句所用到。有的时候,with as是为了提高SQL语句的可读性,减少嵌套冗余。2、关键字概述:1、在标准的数据库中,如hive,Oracle,DB2,SQL SERVER,PostgreSQL都是支持WITH AS 语句进行递归查询。只有原创 2020-05-11 22:30:03 · 63238 阅读 · 13 评论 -
数仓 面试题(离线)实战解答
无意间翻到以前的数仓面试题,今天把它整理出来,方便你我他。 1、说说对数据仓库的理解数据仓库是面向主题进行组织的,数据是集成的、不可更新的、随时间变化的的。数据仓库经历了这样三个阶段:简单报表阶段、数据集市阶段、数据仓库阶段。2、数据库和数据仓库的区别数据库:是一种逻辑概念,用来存放数据的仓库,通过数据库软件来实现。数据库由很多表组成,表是二维的,一张表里可以有很多字段。数据仓库:是数据库概念的升级。从逻辑上理解,数据库和数据仓库没有区别,都是通过数据库软件实现存放数据的地方,但是从数据量来讲.原创 2020-05-11 17:15:11 · 13569 阅读 · 3 评论 -
Hive 架构理念篇
目录:1、Hive 基本概述2、Hive 作用3、Hive体系结构如下:4、Hive 体系架构 图1.1图1.15、Hive驱动器:Driver包含: 解析器 、编译器 、优化器、执行器、1、解析器:将SQL字符串转换成抽象语法树AST,这一步一般都用第三方工具库 完成,比如 antlr;对AST进行语法分析,比如表是否存在、字段是否存在、SQL语义是否有误(比如 select中被判定为聚合的字段...原创 2020-05-02 15:23:47 · 2413 阅读 · 27 评论 -
Hive 四种排序函数与开窗函数
目录:Hive的四种排序:Hive的开窗函数:窗口函数与分析函数 应用场景:寄语:温故而知新,可以为师矣。keep up the good work。Hive的四种排序:1.全局排序 order by(只有一个reduce,对所有数据进行排序) 只要使用 order by ,reduce只有一个。2.sort by 内部有序3.distribute by 分区字段 sto...原创 2020-03-23 10:25:02 · 2445 阅读 · 0 评论 -
面试常问:Hive分区与分桶的区别
分区表与分桶表的区别:创建表时可以同时为表创建一个或者多个分区,我们在加载数据时为期指定具体的 分区,查询数据时可以指定具体的分区从而提高效率。分区表是把分区当成目录的,分区实际上是将表文件分成多个有标记的小文件以方便查询。桶表:1.分区表是将大的表文件划分成多个小文件以利于查询,但是如果数据分布不均衡,也会影响查询效率。2.桶表可以对数据进行哈希取模,目的是让数据能够均匀的分布在...原创 2020-03-14 09:21:26 · 5758 阅读 · 37 评论