
Hive
文章平均质量分 87
Hive学习笔记
Oak-Komorebi
你心中尚存的不满,就是你眼前的第一行诗。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
大数据之Hive(一):Hive 概览
1.1 hive的简介Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。其本质是将SQL转换为MapReduce/Spark的任务进行运算,底层由HDFS来提供数据的存储,说白了hive可以理解为一个将SQL转换为MapReduce/Spark的任务的工具,甚至更进一步可以说hive就是一个MapReduce/Spark Sql的客户端为什么要使用hive ?主要的原因有以下几点: 学习MapReduce的成本比较高, 项目转载 2021-08-17 19:48:15 · 334 阅读 · 0 评论 -
大数据之Hive(二):Hive 表类型
2.1 Hive 数据类型Hive的基本数据类型有:TINYINT,SAMLLINT,INT,BIGINT,BOOLEAN,FLOAT,DOUBLE,STRING,TIMESTAMP(V0.8.0+)和BINARY(V0.8.0+)。Hive的集合类型有:STRUCT,MAP和ARRAY。Hive主要有四种数据模型(即表):内部表、外部表、分区表和桶表。表的元数据保存传统的数据库的表中,当前hive只支持Derby和MySQL数据库。2.2 Hive 内部表Hive中的内部表和传统数转载 2021-08-17 19:59:32 · 1077 阅读 · 0 评论 -
大数据之Hive(三):Hive数据抽样
当数据规模不断膨胀时,我们需要找到一个数据的子集来加快数据分析效率。因此我们就需要通过筛选和分析数据集为了进行模式 & 趋势识别。目前来说有三种方式来进行抽样:随机抽样,桶表抽样,和块抽样。3.1 随机抽样关键词:rand()函数。使用rand()函数进行随机抽样,limit关键字限制抽样返回的数据,其中rand函数前的distribute和sort关键字可以保证数据在mapper和reducer阶段是随机分布的。案例如下:select*fromtable_namew...转载 2021-08-17 20:02:35 · 597 阅读 · 0 评论 -
大数据之Hive(四):Hive计算引擎
目前Hive支持MapReduce、Tez和Spark 三种计算引擎。4.1 MR计算引擎MR运行的完整过程:Map在读取数据时,先将数据拆分成若干数据,并读取到Map方法中被处理。数据在输出的时候,被分成若干分区并写入内存缓存(buffer)中,内存缓存被数据填充到一定程度会溢出到磁盘并排序,当Map执行完后会将一个机器上输出的临时文件进行归并存入到HDFS中。当Reduce启动时,会启动一个线程去读取Map输出的数据,并写入到启动Reduce机器的内存中,在数据溢出到磁盘时会对数据进行再转载 2021-08-17 20:04:26 · 1603 阅读 · 0 评论 -
大数据之Hive(五):存储与压缩
5.1 Hive存储格式Hive支持的存储数的格式主要有:TEXTFILE(行式存储) 、SEQUENCEFILE(行式存储)、ORC(列式存储)、PARQUET(列式存储)。5.1.1 行式存储和列式存储上图左边为逻辑表,右边第一个为行式存储,第二个为列式存储。行存储的特点:查询满足条件的一整行数据的时候,列存储则需要去每个聚集的字段找到对应的每个列的值,行存储只需要找到其中一个值,其余的值都在相邻地方,所以此时行存储查询的速度更快。select *列存储的特点:因为每个字段...转载 2021-08-17 20:07:31 · 235 阅读 · 0 评论 -
大数据之Hive(六):Hive Sql 大全(建议收藏)
本节基本涵盖了Hive日常使用的所有SQL,因为SQL太多,所以将SQL进行了如下分类:一、DDL语句(数据定义语句):对数据库的操作:包含创建、修改数据库对数据表的操作:分为内部表及外部表,分区表和分桶表二、DQL语句(数据查询语句):单表查询、关联查询hive函数:包含聚合函数,条件函数,日期函数,字符串函数等行转列及列转行:lateral view 与 explode 以及 reflect窗口函数与分析函数其他一些窗口函数hive的DDL语法对数据库的操作 创建数据库.转载 2021-08-17 20:11:38 · 2455 阅读 · 0 评论 -
大数据之Hive(七):Hive执行计划
Hive SQL的执行计划描述SQL实际执行的整体轮廓,通过执行计划能了解SQL程序在转换成相应计算引擎的执行逻辑,掌握了执行逻辑也就能更好地把握程序出现的瓶颈点,从而能够实现更有针对性的优化。此外还能帮助开发者识别看似等价的SQL其实是不等价的,看似不等价的SQL其实是等价的SQL。可以说执行计划是打开SQL优化大门的一把钥匙。要想学SQL执行计划,就需要学习查看执行计划的命令:explain,在查询语句的SQL前面加上关键字explain是查看执行计划的基本方法。学会explain,能够给我们工转载 2021-08-17 20:13:55 · 867 阅读 · 0 评论 -
大数据之Hive(八):Hive SQL底层执行原理
本节结构采用宏观着眼,微观入手,从整体到细节的方式剖析 Hive SQL 底层原理。第一节先介绍 Hive 底层的整体执行流程,然后第二节介绍执行流程中的 SQL 编译成 MapReduce 的过程,第三节剖析 SQL 编译成 MapReduce 的具体实现原理。Hive 底层执行架构我们先来看下 Hive 的底层执行架构图, Hive 的主要组件与 Hadoop 交互的过程:Hive底层执行架构在 Hive 这一侧,总共有五个组件: UI:用户界面。可看作我们提交SQL语句的.转载 2021-08-17 20:15:17 · 1478 阅读 · 0 评论 -
大数据之Hive(九):Hive千亿级数据倾斜
数据倾斜问题剖析数据倾斜是分布式系统不可避免的问题,任何分布式系统都有几率发生数据倾斜,但有些小伙伴在平时工作中感知不是很明显,这里要注意本篇文章的标题—“千亿级数据”,为什么说千亿级,因为如果一个任务的数据量只有几百万,它即使发生了数据倾斜,所有数据都跑到一台机器去执行,对于几百万的数据量,一台机器执行起来还是毫无压力的,这时数据倾斜对我们感知不大,只有数据达到一个量级时,一台机器应付不了这么多的数据,这时如果发生数据倾斜,那么最后就很难算出结果。所以就需要我们对数据倾斜的问题进行优化,尽量避免或转载 2021-08-17 20:16:44 · 647 阅读 · 0 评论 -
大数据之Hive(十):Hive企业级性能优化
Hive性能问题排查的方式当我们发现一条SQL语句执行时间过长或者不合理时,我们就要考虑对SQL进行优化,优化首先得进行问题排查,那么我们可以通过哪些方式进行排查呢。经常使用关系型数据库的同学可能知道关系型数据库的优化的诀窍-看执行计划。如Oracle数据库,它有多种类型的执行计划,通过多种执行计划的配合使用,可以看到根据统计信息推演的执行计划,即Oracle推断出来的未真正运行的执行计划;还可以看到实际执行任务的执行计划;能够观察到从数据读取到最终呈现的主要过程和中间的量化数据。可以说,在Orac转载 2021-08-17 20:18:20 · 233 阅读 · 0 评论 -
大数据之Hive(十一):Hive大厂面试真题(建议收藏)
1. hive内部表和外部表的区别未被external修饰的是内部表,被external修饰的为外部表。区别: 内部表数据由Hive自身管理,外部表数据由HDFS管理; 内部表数据存储的位置是hive.metastore.warehouse.dir(默认:/user/hive/warehouse),外部表数据的存储位置由自己制定(如果没有LOCATION,Hive将在HDFS上的/user/hive/warehouse文件夹下以外部表的表名创建一个文件夹,并将属于这个表的数据存放在这转载 2021-08-18 09:22:12 · 1267 阅读 · 0 评论