自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 列式存储是什么?⾏数⽐较⼤的情况,⽐如说上亿,那么列式存储是怎么做的?列式存储是为了解决什么问题?

其空间效率也是很明显的。特别是针对动辄按T计算的数据量来说,在分布式环境中能进⾏压缩处理能节。列⽅式所带来的重要好处之⼀就是,由于查询中的选择规则是通过列来定义的,因此整个数据库是⾃动。按列存储每个字段的数据聚集存储,在查询只需要少数⼏个字段的时候,能⼤⼤减少读取的数据量,⼀。列式数据库在分析需求(获取特点——每次查询⼏个维度,通常是)时候,不仅搜索时间效率占优势,个字段的数据聚集存储,那就更容易为这种聚集存储设计更好的压缩/解压算法。列存储不同于传统的关系型数据库,其数据在表中是按列存储的。

2024-02-29 11:03:41 158

原创 Hive建表时为何要分区分桶,有哪些好处?

如果说是单分区表,那么在表的目录下就只有一级子目录,如果说是多分区表,那么在表的目录下有多少分区就有多少级子目录。分桶是将表数据按指定列的hash散列后分在了不同的文件中,将来查询时,hive可以根据分桶结构,快速定位到一行数据所在的分桶文件,从来提高读取效率。与分区不同的是,分区依据的不是真实数据表文件中的列,而是我们指定的伪列,但是分桶是依据数据表中真实的列而不是伪列。分区是将表的数据在物理上分成不同的文件夹,以便于在查询时可以精准指定所要读取的分区目录,从来降低读取的数据量。有了分区为什么还要分桶?

2024-02-01 12:44:42 501 1

原创 Hive的HSQL转换为MapReduce的过程?

hiveSQL~~~AST(抽象语法树)~~~QB(查询块)~~~OperatorTree(操作树)~~~优化过的操作树~~~MapReduce任务树~~~优化后的MapReduce任务树。逻辑层优化器进行OperatorTree变换,合并不必要的ReduceSinkOperator,减少shuffle数据量;1.Antlr定义SQL的语法规则,完成SQL词汇,语法解析,将SQL转化为抽象语法树。物理层优化器进行MapReduce任务的变换,生成最终的执行计划;

2024-01-31 17:44:49 443

原创 Spark优化有哪些

所谓的map-side预聚合,说的是在每个节点本地对相同的key进⾏⼀次聚合操作,类似MapReduce中的本地combiner。map-side预聚合之后,每个节点本地就只会有⼀条相同的key,因为多条相同的key都被聚合起来了。有时在开发过程中,会遇到需要在算⼦函数中使⽤外部变量的场景(尤其是⼤变量,⽐如100M以上的⼤集合),那么此时就应该使⽤Spark的⼴播(Broadcast)功能来提升性能。5、使⽤map-sid预聚合的shuffle操作。3、对多次使⽤的RDD进⾏持久化。

2024-01-25 17:00:00 477

原创 Spark任务的执⾏流程

2)任务调度:Spark 会将每个 stage 中的 tasks 分配给集群中的 Executor 进⾏计算。3)数据分区:Spark 将数据集划分为多个分区,每个分区会被分配到集群中的某⼀个 Executor 上进⾏计算。每个 Executor 会处理多个分区,且每个分区只会被⼀个 Executor 计算。4)任务执⾏:Executor 会从 Driver 程序中获取任务信息,并根据任务信息从对应的数据分区中获取据,然后执⾏具体的计算任务。

2024-01-24 07:43:45 514 1

原创 Hive优化

b)在 Map 执⾏前合并⼩⽂件,减少 Map 数:CombineHiveInputFormat 具有对⼩⽂件 进⾏合并。c)⼩表Join⼤表的时候要把⼩表放前⾯,原因是在Join操作的Reduce阶段,位于Join操作符左边的。min 的默认值是 1B mapred.max.split.size: 指的是数据的最⼤分割单元⼤⼩;表的内容会被加载进内存,将条⽬少的表放在左边,可以减少数据量,可以有效减少发⽣OOM错误的⼏率。mapred.min.split.size: 指的是数据的最⼩分割单元⼤⼩;

2024-01-23 17:19:02 327 1

原创 HDFS 读流程和写流程

5.客户端请求datanode1上传数据,datanode1收到请求会继续调⽤datanode2,然后datanode2调⽤datanode3,将这个通信管道建⽴完成。8.收到⼀个packet就会传给datanode2,datanode2传给datanode3;4.namenode返回3个datanode节点,分别为datanode1、datanode2、datanode3。6.datanode1、datanode2、datanode3逐级应答客户端。2.namenode返回是否可以上传。

2024-01-22 08:00:10 315

原创 如何解决Hive数据倾斜的问题

从业务层⾯来说,有可能是提供计算⼝径有问题导致的倾斜问题,例如订单和⽀付关联,正常应该是100w,但是从explain来看,关联得到的结果是1000w或者更多,可需要考虑逻辑⼝径是否有问题。⾸先要知道的是数据倾斜的本质是数据分配不均匀,那么造成不均匀的原因有很多,⽐如热点key,⾮热 点key分布不均匀等。(3)如果不是热点key,那么有可能是key本身分布不均匀导致的,那么可以采⽤随机前缀、groupby替代。(1)⾸先怀疑的是数据热点key,这⾥可以根据采样统计来判断是否有部分key记录过多。

2024-01-22 07:55:11 529

原创 datax与sqoop的优缺点?

能显示运⾏信息,包括运⾏时间,数据量,消耗资源,脏数据稽核等。datax与sqoop的优缺点?datax与sqoop的优缺点?社区开源不久,不太活跃。

2024-01-22 07:53:18 386

原创 常用的linux命令

ps -ef ps -aux:查看进程 jps kill -9 :杀死。mkdir:创建文件夹 touch:创建文件 cat:查看静态文件。awk :文件切割命令 sed:替换 grep:过滤。tail:动态查看文件 more:分页查看 vim:编辑器。df:查看磁盘空间 du:查看文件/目录大小。pwd:查看当前路径 | grep:过滤。top:查看cpu free :查看内存。常用的linux命令。

2024-01-21 20:18:46 309 1

原创 天数连续登录问题

【代码】天数连续登录问题。

2024-01-21 20:16:24 560 1

原创 留存率的计算

from (from (from (left join)t4。

2024-01-17 17:18:27 623

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除