- 博客(28)
- 资源 (1)
- 收藏
- 关注
原创 mysql在线时长统计
很明显,这些数据时间上是有重叠的,例如user1在08:30~10:30这个时间段内用三个web端和一个app端登录,但他的时长应该只能算作2个小时要正确统计,我们需要三步:获取用户的重叠时间段中最早的起始时间获取用户的重叠时间段中最晚的结束时间前两步的起始时间与结束时间合并,得到综合的时间段,再进行统计第一步:查询用户名、起始时间其中起始时间需要满足的条件是:不包含于其它时间段,即不存在一条记录来满足条件“s>start且s<=end”得到的结果可能存在重复,所以用distin
2022-05-17 21:45:51
887
原创 不会的问题总结---来自面经
字节跳动跑spark的过程中当某个节点压力过大,怎么调优spark shuffle 本地化为什么要划分stagespark任务出问题,怎么定位spark shuffle了解吗,说一下,知道shuffle service吗spark 的joinMR 过程中有几次排序过程 4hive三级分区怎么解决小文件问题解决小文件的问题,首选方案就是 “hive合并小文件”。可以根据如下思路去解决:方式一:对已有的数据进行定时或实时的小文件合并方式二:在生成小文件前,进行相关的配置合并来预防方式三
2022-05-09 21:32:55
576
原创 说下Hive 中join的运行原理
相关问题Hive里面的join分哪些类型呢?Hive的join的优化一般会怎么优化?除了mapjoin还知道别的么?Hive两个大表join的过程给出一个sql语句,让你结合语句来说明join过程。1 简单解释hive解析sql到mrok,首先Hive会根据DQL类SQL语句生成一个MapReduce作业。具体是通过Driver将SQL提交到编译器进行语法分析、解析和优化,最后生成一个MapReduce的执行计划,再根据执行计划,生成一个MapReduce作业。2 概况join的类型接着hiv
2022-05-09 15:11:32
179
转载 Spark 常见报错问题汇总
引用来自https://blog.csdn.net/ZYC88888/article/details/78438068
2022-05-07 16:15:49
164
原创 MySQL面试题
主键和索引的区别?1主键是为了标识数据库记录唯一性,不允许记录重复,且键值不能为空,主键也是一个特殊索引。数据表中只允许有一个主键,但是可以有多个索引2.索引可以提高查询效率,就相当于字典的目录,可以通过它很快查询到想要的结果,而不需要进行全表扫描。.唯一索引则标识索引值唯一,可以由一个或者几个字段组成,一个表可以有多个唯一索引唯一索引与主键索引的区别区别:1、主键创建后一定包含一个唯一性索引,唯一性索引不一定是主键;3、唯一性索引列允许空值, 主键不允许;4、主键可被其他表引为外键,唯一索引不能;
2022-05-07 15:01:34
442
原创 数仓面试题
介绍下数据仓库数仓的基本原理数仓架构数据仓库分层(层级划分),每层做什么?分层的好处?数据分层是根据什么?数仓分层的原则与思路数仓建模常用模型吗?区别、优缺点?星型模型和雪花模型的区别?应用场景?优劣对比数仓建模有哪些方式?数仓建模的流程?其实就是业务模型->概念模型->逻辑模型->物理模型的这样⼀个流程,业务建模(需求沟通)主要解决业务层⾯的分解和程序化。搞清楚系统边界,确定好主题域概念建模|领域建模(画图想好怎么做)主要是对业务模型进⾏抽象处理,⽣成领域概念模型
2022-05-05 20:40:45
764
原创 Spark面试题
作者:蓦_然链接:https://www.nowcoder.com/discuss/929016?channel=-1&source_id=profile_follow_post_nctrack来源:牛客网Spark面试题(约9.8w字)Spark的任务执行流程Spark的运行流程Spark的作业运行流程是怎么样的?Spark的特点Spark源码中的任务调度Spark作业调度Spark的架构Spark的使用场景Spark on standalone模型、YARN架构模型(画架
2022-05-04 15:34:09
925
原创 Spark面试题2
Spark join的分类当前SparkSQL支持三种Join算法:shuffle hash join、broadcast hash join以及sort merge join。Hash Join 采用hash join算法,整个过程会经历三步:确定Build Table以及Probe Table:Build Table使用join key构建Hash Table,而Probe Table使用join key进行探测,探测成功就可以join在一起。通常情况下,小表会作为Build Table,大表
2022-05-04 15:33:29
848
原创 10亿数据找到前100大的数(Top K问题)
Top K问题在大规模数据处理中,经常需要处理Top K问题:在乱序数据中找到前K个数据。例如在海量搜索结果中找到权重最高的前K个结果。针对Top K类问题,通常最好的方案是使用分治 + 小顶堆。即先将数据集用Hash方法拆解成多个小数据集进行分治,然后用小顶堆在每个数据集中找到最大的前K个数,最后在所有小数据集的Top K数中通过系统排序找到最终的Top K个数。问题描述在10亿行浮点数的文件中找到最大的前100个数字。为后续计算复杂度,我们记n数据总长度,K为需要取出的最大值的个数。思路一:
2022-04-22 15:02:46
1472
原创 Hive面试
1.Hive row_number,rank两个函数的区别2.Hive窗口函数怎么设置窗口大小————————select city,year,taxes,sum(money) over() as sample1,–所有行相加sum(money) over(partition by city) as sample2,–按city分组,组内数据相加sum(money) over(partition by city order by year) as sample3,–按city分组,组内数据累加
2022-04-14 20:15:42
1557
原创 HBase基础概念
H b a s e 定 义HBase是一个非关系型分布式数据库(NoSql)特点:海量数据存储快速随机访问大量写操作的应用HBASE数据模型HBase物理模型:Hbase容错HBASE的基本操作![在这里插入图片描述](https://img-blog.csdnimg.cn/ffdab2a0829548c3bcd1a5a3b4964a4f.png)...
2022-03-18 16:56:42
2249
原创 Spark 容错
1.driver宕机(1)如果job运行在client:程序直接挂了(2)如果job运行在cluster:-》spark on standalone/mesos:通过spark-submit的参数–supervise可以指定当driver宕机的时候,在其他的节点上重新恢复-》spark on yarn:自动恢复四次2.executor宕机比如executor进程所在机器(worker)宕机、Executor和Driver之间通信超时。则Driver直接把坏掉的executor从Driver列表中
2021-12-22 14:21:11
1096
原创 Spark——shuffing
spark的Shuffle有Hash Shuffle和Sort Shuffle两种1.发展史在Spark 1.2以前,默认的shuffle计算引擎是HashShuffleManager。该ShuffleManager而HashShuffleManager有着一个非常严重的弊端,就是会产生大量的中间磁盘文件,进而由大量的磁盘IO操作影响了性能。因此在Spark 1.2以后的版本中,默认的ShuffleManager改成了SortShuffleManager。SortShuffleManager相较于Has
2021-12-21 20:07:33
1512
原创 Hive_日期函数比较
1.日期比较函数: datediff语法: datediff(string enddate,string startdate)返回值: int说明: 返回结束日期减去开始日期的天数。举例:hive> select datediff(‘2016-12-30’,‘2016-12-29’);12.日期增加函数: date_add语法: date_add(string startdate, intdays)返回值: string说明: 返回开始日期startdate增加days天后的日期。举
2021-12-20 14:27:02
2926
原创 Spark数据倾斜问题+解决方案
1、数据倾斜数据倾斜指的是,并行处理的数据集中,某一部分(如Spark或Kafka的一个Partition)的数据显著多于 其它部分,从而使得该部分的处理速度成为整个数据集处理的瓶颈数据倾斜俩大直接致命后果1)数据倾斜直接会导致一种情况:Out Of Memory2)运行速度慢主要是发生在Shuffle阶段。同样Key的数据条数太多了。导致了某个key(下图中的80亿条)所在的Task数 据量太大了。远远超过其他Task所处理的数据量一个经验结论是:一般情况下,OOM的原因都是数据倾斜2、如
2021-12-12 20:50:11
6328
原创 HBase的rowkey设计原则
设计原则如下:1、rowkey长度原则Rowkey是一个二进制码流,Rowkey的长度被很多开发者建议说设计在10~100个字节,不过建议是越短越好,不要超过16个字节。原因如下:1)数据的持久化文件HFile中是按照Key Value 存储的,如果Rowkey过长比如100个字节,1000万列数据光Rowkey就要占用100*1000 万=10亿个字节,将近1G数据,这会极大影响 HFile的存储效率;2)MemStore将缓存部分数据到内存,如果 Rowkey字段过长内存的有效利用率会降低,系
2021-12-12 20:42:09
2086
原创 Spark
yarn Cluster 与yarn Client的区别:S p a r k 的 资 源 管 理 组 件:Yarn(通用)– Master/Slave结构• RM:全局资源管理器,负责系统的资源管理和分配• NM:每个节点上的资源和任务管理器• AM:每个应用程序都有一个,负责任务调度和监视,并与RM调度器协商为任务获取资源Standalone(Spark自带)– Master/Slave结构• Master:类似Yarn中的RM• Worker:类似Yarn中的NMS p a r
2021-12-12 19:56:22
152
原创 Spark简记
1.spark与yarn的对比ApplicationMAnage在spark中叫做driverAM向RM申请的是executor资源,分配executor之后由driver来管理executor是一个进程,里面含有很有的task,每一个task是一个线程【注】1.executor伴随整个Application的生命周期线程池模式,省去进程频繁启停的开销2.MR有什么问题启动耗时:MR : map进程,reduce进程spark: executor进程,10个线程:8 map task(线
2021-12-12 19:18:28
1328
原创 Flume
flume功能flume做简单的数据过滤处理,收集日志,转发到HDFS、HBASE进行存储or 连接kafka(消息队列、临时存储)连接到streaming进行线上处理注:一般开发情况下只需要做streaming、storm,flume、kafka已经做好,不需要管flume=agent+数据收集器flume中agent功能:根据不同的host进行数据的处理:【app来源】host1->处理1【pc来源】host2->处理2flume开发,主要是编写conf文件,每个conf都有
2021-12-12 14:12:44
815
原创 Yarn理解
Yarn是Hadoop2.0框架重构之后的框架,之前的Hadoop1.0没有Hadoop 1.0存在的缺陷Hadoop1.0 与Hadoop2.0的区别ResourceManager(RM)代替集群资源管理器**ApplicationManager(AM)**代替一个专用且短暂的Job Tracker(任务管理)**NodeManager(NM)**代替TaskTracker总结:重构的思想:将JobTracker两个主要的功能分离成单独的组件,这两个功能是资源管理和任务调度/监控Yar
2021-12-02 15:40:19
822
原创 HDFS理解
hdfs:分布式文件系统hdfs跟普通的单机文件系统有区别:1、单机文件系统中存放的文件,是在一台机器的操作系统中2、hdfs的文件系统会横跨N多的机器3、单机文件系统中存放的文件,是在一台机器的磁盘上4、hdfs文件系统中存放的文件,是落在n多机器的本地单机文件系统中(hdfs是一个基于linux本地文件系统之上的文件系统)hdfs的工作机制:1、客户把一个文件存入hdfs,其实hdfs会把这个文件切块后,分散存储在N台linux机器系统中(负责存储文件块的角色:data node)<
2021-11-28 13:21:16
1220
原创 MapReduce的shuffling理解
MapReduce的shuffling理解1:官方图解上图主要分为三个阶段:Map:分割数据 Reduce:聚合数据 重点在Shuffle(面试)Shuffing包含:{partition spill(sort+combiner) merge}shuffling具体过程如下:1.Map端1**.Input Split分配给Map2.Map过程进行处理**,Mapper任务会接收输入分片,然后不断的调用map函数,对记录进行处理。处理完毕后,转换为新的<key,value>
2021-11-23 11:15:25
5170
原创 HIve优化(包含数据倾斜)--单独从基础篇拿出来
6.Hive的优化(重要):6.1Map优化:1.如何合并小文件,减少map数set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat = trueset mapred.max.split.size = 10000000set mapred.min.split.size.per.node = 1000000set mapred.min.split.size.per.rack=1000000002.如何适当
2021-11-14 20:05:45
999
原创 HIve基础概念
HIve基础概念1.1. hive基本思想Hive是基于Hadoop的一个数据仓库工具(离线),可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。
2021-11-14 19:59:26
1052
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人