
Hadoop生态圈
文章平均质量分 75
学习资料及工作上遇上的问题整理
随缘清风殇
知其然,知其所以然
展开
-
HIve面试题
1、行转列与列转行1.1、行转列select explode(split(‘aaa,bbb,ccc’,’,’))temp as x–本身返回一张虚拟表,使用later view可直接关联两张表,保持原有映射关系。静态:select t1.uid ,t2.key ,t2.valuefrom t1later view explode(map( 'c1',c1, 'c2',c2, 'c3',c3)) t2 as key,valueselect s.name,t原创 2021-08-01 18:24:20 · 423 阅读 · 0 评论 -
Hive(F&Q)
1、 java.io.IOException java.io.IOException: Cannot obtain block length for LocatedBlock 之类的BP报错。错误分析:由于集群并发过高/磁盘存储块异常导致,集群问题导致。解决方法:由于集群并发过高/磁盘存储块异常导致,集群问题导致。2、没有分配到资源被kill错误分析:由于任务执行的集群队列吃紧导致等待超过100分钟后,还未分配到资源进行计算,被系统自动kill终结。解决方法:如果原创 2021-08-01 18:19:46 · 120 阅读 · 0 评论 -
Hive数据倾斜原因及解决方案
1、数据倾斜定义数据分布不均,造成大量数据集中到一点,造成数据热点。2、数据倾斜的表现在执行任务的时候,任务进度长时间维持在99%左右;查看stage的执行情况时,卡在最后1-2个task长时间不动,查看task监控页面,发现某个或某两三个task运行的时间远远大于其他task的运行时间,这些task处理的数据量也远远大于其他task。注:一个spark任务的运行时间是由最后一个执行成功的task决定的,如果某个task发生了数据倾斜,会拖慢整个spark任务执行效率,即便其他没有倾斜的task已原创 2021-08-01 18:17:39 · 9519 阅读 · 1 评论 -
hive优化
1、hive参数优化1.1、Fetch抓取Fetch抓取:Hive中对某些情况的查询可以不必使用MapReduce计算,在全局查找、字段查找、limit查找等都不走mapreduce。(1)把hive.fetch.task.conversion设置成none,然后执行查询语句,都会执行mapreduce程序。hive (default)> **set hive.fetch.task.conversion=none;**hive (default)> select * from emp原创 2021-08-01 18:10:18 · 2474 阅读 · 0 评论 -
hive的join原理
1、Common Join(Reduce阶段完成join)(1)Map阶段①读取源表数据②map输出时候以join on条件中的列为key(若为多个关联键,则这些关联键组合为key);③Map端输出的value:join之后所关心的列(select+where),同时包含tag(表)信息。(2)Shuffle阶段根据key的值进行hash,并将key/value按照hash值推送至不同的reduce中,这样确保两个表中相同的key位于同一个reduce中(3)reduce阶段根据key的值完原创 2021-08-01 18:02:35 · 594 阅读 · 0 评论 -
Hive基础
1、Hive架构1.1、架构图1.1.1、用户接口包括shell命令,JDBC/ODBC和webUi1.1.2、解析器根据sql语法匹配出相对应的mapreduce模板1.1.3、元数据库接口存储表中的元数据信息在mysql中,表明,列名,分区,表的属性,表数据所存的目录1.2、存储层mysql:存储hive的元数据;hive表中的数据都是保存的HDFS上,也就是说hive中的数据库、表、分区等都可以在HDFS找到对应的文件;元数据可以理解成hive中用于保存数据库、表、分区或者表字原创 2021-08-01 17:59:57 · 376 阅读 · 0 评论 -
YARN调度专题
1、yarn概述1.1、yarn是集群中的资源管理模块为各类计算框架提供资源的管理和调度①用于管理集群资源(服务器硬件,包括CPU,内存,磁盘,网络IO等);②调度运行在yarn上的各种任务调度器:用来对hadoop分布式集群中同一时刻运行的job进行规划和约束的。总而言之:调度资源,管理任务1.2、核心出发点:分离资源管理和作业监控①全局资源管理 - RM②每个应用程序对应一个应用资源管理 - AM1.3、调度层级①一级调度管理 计算资源管理(CPU,内存,磁盘,IO)原创 2021-08-01 17:49:05 · 470 阅读 · 0 评论 -
MapReduce的执行流程
1、mapreduce原理1.1、序列化和反序列化(1)序列化:将内存的对象转换成字节序列,便于存储(2)反序列化:将收到的字节序列或硬盘的持久化数据,转换成内存。1.2、inputformat中默认的是(textinputformat)1.3、Inputsplit的含义–inputsplit只记录了分片的元数据信息,比如起始位置、长度及所在节点列表等。(1)找到所需数据文件存储目录;(2)遍历处理目录下的每一个文件(3)遍历第一个文件ss.txt①遍历文件大小;②计算切片大小,默认情原创 2021-08-01 17:46:24 · 3652 阅读 · 2 评论 -
HDFS分布式存储文件系统
1.1、HDFS架构HDFS 采用Master/Slave的架构来存储数据,这种架构主要由四个部分组成,分别为HDFS Client、NameNode、DataNode和Secondary NameNode。一个HDFS集群是由一个NameNode和一定数目的DataNode组成的。NameNode是一个中心服务器,负责管理文件系统的名字空间 (Namespace )及客户端对文件的访问。集群中的DataNode一般是一个节点运行一个DataNode进程,负责管理它所在节点上的存储。1.2、原创 2021-08-01 17:36:05 · 379 阅读 · 0 评论