![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
HIVE
大数据面经
关注微信公众号:大数据面试宝典
领取大数据相关配套知识点
展开
-
5分钟学习hive sql
Hive sql1 背景2 Hive sql 转换逻辑3 Hive sql的执行顺序4 Hive sql 函数5 hive sql 常用调优1 背景hive 是数据仓库的一种应用工具,将数据写入到hdfs中,为了更方便人员操作,可以通过sql来更简洁的完成任务,不必再编写mapreduce程序。2 Hive sql 转换逻辑hive 底层会把sql转换成mapreduce程序进行执行1 hive的编译器会把sql的语法解析转换成抽象语法树2 抽象语法树结果复杂,不方便直接翻译为mapreduce原创 2021-08-17 19:32:53 · 697 阅读 · 1 评论 -
大数据高频面试题之Hive的数据存储格式
类型texfile:默认的存储格式:普通的文本文件,数据不压缩,磁盘的开销比较大,分析开销大。sequencefile:提供的一种二进制存储格式,可以切割,天生压缩。rcfile:提供的是一种行列混合存储方式,该方式会把相近的行和列数据放在一块儿,存储比较耗时,查询效率高,也天生压缩。orc:是rcfile的一种优化存储。parquet:自定义输入输出格式。具体描述1)texfile普通文本文件(通常默认的就是这个格式)创建表create table if not exists one (原创 2021-04-15 19:12:31 · 293 阅读 · 0 评论 -
大数据高频面试题之Hive表数据的加载与导出
Hive表数据加载1)直接向分区表中插入数据insert into table score3 partition(month =‘201807’) values (‘001’,‘002’,‘100’);2)通过查询插入数据先通过load加载创建一个表(linux) load data local inpath ‘/export/servers/hivedatas/score.csv’ overwrite into table score partition(month=‘201806’);(HD原创 2021-04-15 19:07:06 · 184 阅读 · 0 评论 -
大数据高频面试题之Hive常用函数总结
Hive内部支持大量的函数,可以通过 SHOW FUNCTIONS 查看Hive的内置函数。灵活地运用Hive提供的函数能够极大地节省数据分析成本。Hive函数主要包含数学函数,集合函数,类型转换函数,日期函数,条件函数,字符串函数,聚合函数和表生成函数等。1)数学函数数学函数是Hive内部提供的专门用于数学运算的函数,如round()函数和sqrt()函数等。round()函数主要用来对给定的数字进行四舍五入取近似值,如下所示:hive (default)> SELECT ROUND(5.5)原创 2021-04-14 17:56:38 · 210 阅读 · 0 评论 -
大数据高频面试题之Hive的分区及其优势
什么是hive分区 : 就是一种对表进行粗略划分的机制,可以实现加快查询速度的组织形式.在使用分区时, 在表目录下会有相应的子目录,当查询时添加了分区谓词,那么该查询会直接定位到相应的子目录中进行查询,避免全表查询,提成查询效率.注意事项:1 . hive的分区使用的表外字段,分区字段是一个伪列但是可以查询过滤。2 . 分区字段不建议使用中文3 . 不太建议使用动态分区。因为动态分区将会使用mapreduce来查询数据,如果分区数量过多将导致namenode和yarn的资源瓶颈。所以建议动态分区前原创 2021-04-13 14:43:24 · 187 阅读 · 0 评论 -
大数据高频面试题之如何合理设置Reduce的数量
1.调整reduce个数方法一(1)每个Reduce处理的数据量默认是256MBhive.exec.reducers.bytes.per.reducer=256000000(2)每个任务最大的reduce数,默认为1009hive.exec.reducers.max=1009(3)计算reducer数的公式N=min(参数2,总输入数据量/参数1)2.调整reduce个数方法二在hadoop的mapred-default.xml文件中修改设置每个job的Reduce个数set mapre原创 2021-04-13 14:37:55 · 1330 阅读 · 0 评论 -
大数据高频面试题之Hive的小文件合并
(1)在map执行前合并小文件,减少map数:CombineHiveInputFormat具有对小文件进行合并的功能(系统默认的格式)。HiveInputFormat没有对小文件合并功能。set hive.input.format= org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;(2)在Map-Reduce的任务结束时合并小文件的设置:在map-only任务结束时合并小文件,默认trueSET hive.merge.mapfiles = tr原创 2021-04-13 14:32:48 · 138 阅读 · 0 评论 -
大数据高频面试题之Hive怎么解决数据倾斜
场景: MR中,shuffle阶段的一个key值对应了很多值,那么就会将这么多值分到一个分区中hive中,两个表做join maptask中一个任务处理的时间明显大于其他task的时间 就是出现了数据倾斜的问题开启数据倾斜时负载均衡set hive.groupby.skewindata=true;思想:就是先随机分发并处理,再按照 key group by 来分发处理。操作:当选项设定为 true,生成的查询计划会有两个 MRJob。第一个 MRJob 中,Map 的输出结果集合会随机分布到 Re原创 2021-04-13 14:29:01 · 205 阅读 · 0 评论 -
大数据高频面试题之Hive的自定义函数
1)Hive 自带了一些函数,比如:max/min等,但是数量有限,自己可以通过自定义UDF来方便的扩展。2)当Hive提供的内置函数无法满足你的业务处理需要时,此时就可以考虑使用用户自定义函数(UDF:user-defined function)。3)根据用户自定义函数类别分为以下三种:UDF:User-Defined-Function,用户自定义函数,数据是一进一出,功能类似于大多数数学函数或者字符串处理函数;UDAF:User-Defined Aggregation Function,用户自定原创 2021-04-13 14:26:06 · 176 阅读 · 0 评论 -
大数据高频面试题之HiveSQL的转化过程
Hive是如何将SQL转化为MapReduce任务的,整个编译过程分为六个阶段:1.Antlr定义SQL的语法规则,完成SQL词法,语法解析,将SQL转化为抽象语法树AST Tree;2.遍历AST Tree,抽象出查询的基本组成单元QueryBlock;3.遍历QueryBlock,翻译为执行操作树OperatorTree;4.逻辑层优化器进行OperatorTree变换,合并不必要的ReduceSinkOperator,减少shuffle数据量;5.遍历OperatorTree,翻译为MapR原创 2021-04-08 10:10:10 · 147 阅读 · 0 评论 -
大数据高频面试题之Hive的内部表和外部表
创建表时:创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径, 不对数据的位置做任何改变。删除表时:在删除表的时候,内部表的元数据和数据会被一起删除, 而外部表只删除元数据,不删除数据。这样外部表相对来说更加安全些,数据组织也更加灵活,方便共享源数据。1.未被external修饰的是内部表【managed table】,被external修饰的为外部表【external table】2.内部表数据由Hive自身管理,外部表数据由HDFS管理。3.内部表数据存储在hiv原创 2021-04-08 10:09:22 · 154 阅读 · 1 评论 -
大数据高频面试题之Hive的优缺点
1)操作接口采用类SQL语法,提供快速开发的能力(简单、容易上手)。2)避免了去写MapReduce,减少开发人员的学习成本。3)Hive的执行延迟比较高,因此Hive常用于数据分析,对实时性要求不高的场合。4)Hive优势在于处理大数据,对于处理小数据没有优势,因为Hive的执行延迟比较高。5)Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。缺点1.Hive的HQL表达能力有限(1)迭代式算法无法表达(2)数据挖掘方面不擅长,由于MapReduce数据处理流程的限制,效原创 2021-04-08 10:08:39 · 225 阅读 · 0 评论 -
Hive是什么?
Hive是什么?一、概述Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。Hive的优点是学习成本低,可以通过类似SQL语句实现快速MapReduce统计,使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序。而且,hive十分适合数据仓库的统计分析。二原创 2021-04-02 23:38:57 · 283 阅读 · 0 评论 -
Hive知识点总结(持续更新)
文章目录hive 基本概念hive的意义hive优缺点hive的架构原理hive和数据库比较hive的数据类型基本数据类型集合数据类型hive的表内部表外部表内部表外部表的转换分区表分桶表数据加载hive文件格式hive 基本概念hive的意义 hive是一个数据仓库工具,把结构化数据映射成表 支持类sql hive就是把hql转换为MapReduce 降低了我们学习成本 ...原创 2020-04-20 21:55:14 · 738 阅读 · 1 评论 -
hive的orc和parquet和textfile三种格式的压缩与存储
数据库压缩方式有四种 分别是 orc格式 parquet格式和 以及默认的textfile格式这三种格式 orc的压缩效率最高 其次是parquet 最后是默认的textfile我的文件分别用三种格式创建数据库并加载进去textfile格式 文件大小未改变parquet 格式 文件变小一点orc格式 文件压缩效率最高文件大小:Textfile>parquet&...原创 2020-03-07 19:18:04 · 4384 阅读 · 1 评论 -
hive和hbase数据整合和映射表的创建
【hive】把hdfs上的文件的数据加载到表中LOAD DATA INPATH ‘路径’ into table 表名把linux本地文件加载到数据中LOAD DATA LOCAL INPATH ‘路径’ into table 表名把查询的数据加载到表中...原创 2020-01-06 10:34:04 · 419 阅读 · 0 评论 -
Hive知识点总结
Hive知识点总结什么是Hive?Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。Hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。Hive的意义(最初研发的原因)?降低程序员使用Hadoop的难度,降低学...原创 2019-11-28 20:18:47 · 2139 阅读 · 0 评论 -
Hive存储概念和Metastore 的作用
文章目录一、Hive存储概念二、Metadata,Metastore 的作用一、Hive存储概念1、Hive用户接口:命令行接口(CLI):以命令行的形式输入SQL语句进行数据数据操作Web界面:通过Web方式进行访问。 Hive的远程服务方式:通过JDBC等方式进行访问。 2、元数据存储 将元数据存储在关系数据库中(MySql、Derby),元数据包括表的属性、表的名称、...转载 2019-11-20 14:56:38 · 1966 阅读 · 1 评论 -
hive基础 ?看完就懂
文章目录什么是Hive为什么使用HiveHive的特点Hive架构HIVE基本组成Hive与Hadoop的关系Hive与传统数据库对比什么是HiveHive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能(HQL)。其本质是将SQL转换为MapReduce的任务进行运算,底层由HDFS来提供数据的存储,hive可以理解为一个将SQL转换为...原创 2019-11-19 21:38:40 · 1774 阅读 · 2 评论