首页 > 新闻资讯 > 详情

上海有几家靠谱的大数据开发培训班实力名单今日公布

来源:上海博为峰IT培训机构时间:2023/3/14 10:22:03

  上海博为峰软件技术股份有限公司旗下的职业教育培训品牌学掌门以企业需求为导向,已开设软件测试、数据分析、Web前端开发、Java、Java+大数据、超全栈开发(web前端+Java+python)、Python全栈开发与人工智能、Python大数据分析、BI商业数据分析、移动端开发、大数据等热门技术领域就业课程、进阶课程以及认证与培训服务。

  【超全栈开发】是学掌门打造的一款用于职业培训的IT教育产品。

  包括但不限于 Web前端、Java、Pyhton、大数据、人工智能等。进步开发水平、具备解决“跨前后端、跨平台、跨语言”等多种开发技术难题的能力。从而真正完成“内在能力+外在薪酬”全方位的提升。

  采用“ 分层设计、分段教学 ”为学员提供个性化、差异化的教学方案。为学员继续提供终身职业护航体系。

  全栈Java+大数据学习路线

  课程以前端全栈项目的设计和研发为主线

  经典案例40个

  Java Web及Java框架20+个、Java微服务5+个、大数据案例3+个、其他经典案例共10+

  小项目5+个

  设计多线程网络、数据库持久化、微服务架构、Java分布式、大数据开发等

  中等项目3+个

  CRM客户关系、垂直问答平台、智能办公系统的实战演练

  大项目3个

  移动电商平台、智能公寓、大数据分析、前端可视化

  大数据开发-HBase合并

  前面我们讲过HBase的拆分,其实他们俩是一对的,拆分-合并!本期就给大家带来HBase的合并的小技巧。无论是在大数据开发的学习中还是其他的学习,小技巧都能够在我们的学习路上带来很多实用的帮助。

  一、概述

  老规矩,先来给大家复习下一些基础知识,免得又忘了。

  HBase表的基本单位是Region,日常调用HBase API操作一个表时,交互的数据也会以Region的形式进行呈现。前面介绍过HBase Region拆分策略原理,一个表可以有若干个Region,本文主要介绍Region合并的一些问题和解决方法。

  什么是HBase Compaction?

  简单来说就是HBase将Region中的Store中的一些HFile进行合并。

  二、合并原因及原理

  原因:这个需要从Region的Split来说。当一个Region被不断的写数据,达到Region的Split的阀值时(由属性hbase.hregion.max.filesize来决定,默认是10GB),该Region就会被Split成两个新的Region。随着业务数据量的不断增加,Region不断的执行Split,那么Region的个数也会越来越多。

  一个业务表的Region越多,在进行读写操作时,或是对该表执行Compaction操作时,此时集群的压力是很大的。这里笔者做过一个线上统计,在一个业务表的Region个数达到9000+时,每次对该表进行Compaction操作时,集群的负载便会加重。而间接的也会影响应用程序的读写,一个表的Region过大,势必整个集群的Region个数也会增加,负载均衡后,每个RegionServer承担的Region个数也会增加。

  因此,这种情况是很有必要的进行Region合并的。比如,当前Region进行Split的阀值设置为30GB,那么我们可以对小于等于10GB的Region进行一次合并,减少每个业务表的Region,从而降低整个集群的Region,减缓每个RegionServer上的Region压力。

  其合并原理分为三步:排序文件、合并文件、代替原文件服务。

  HBase首先从待合并的文件中读出HFile中的key-value,再按照由小到大的顺序写入一个新文件(storeFile)中。这个新文件将代替所有之前的文件,对外提供服务。

  在分析合并Region之前,我们先来了解一下Region的体系结构,如下图所示:

  从图中可知

  HRegion:一个Region可以包含多个Store;

  Store:每个Store包含一个Memstore和若干个StoreFile;

  StoreFile:表数据真实存储的地方,HFile是表数据在HDFS上的文件格式。

  当HBase合并时,会清空以下三种数据

  1.标记为删除的数据。

  当我们删除数据时,HBase并没有把这些数据立即删除,而是将这些数据打了一个个标记,称为“墓碑”标记。在HBase合并时,会将这些带有墓碑标记的数据删除。

  2.TTL过期数据

  TTL(time to live)指数据包在网络中的时间。如果列族中设置了TTL过期时间,则在合并的过程中,发现过期的数据将被删除。

  3.版本合并

  若版本号超过了列族中预先设定的版本号,则将较早的一条数据删除。

  如:列族设置版本号是5,当此列族第六次保存数据时,会将较早一次数据删除。

  三、HBase合并分类

  1.Minor Compaction(小合并)

  小合并是指将相邻的StoreFile合并为更大的StoreFile。

  2.Major Compaction(大合并)

  大合并是将多个StoreFile合并为一个StoreFile。

  四、合并的触发时机

  (1)MEMStore Flush

  内存中的数据flush刷写到硬盘上以后,会对当前Store中的文件进行判断,当数量达到阈值,则会触发Compaction。Compaction是以Store为单位进行合并的。当Flush刷写完成后,整个Region的所有Store都会执行Flush。

  (2)后台线程周期性的检查

  Compaction Checker线程定期检查是否触发Compaction,Checker会检查文件数量是否大于阈值,再判断是否满足major Compaction的条件的时间范围内,如果满足,则触发一次大合并Major Compaction。

  (3)手动触发

  1.由于很多业务担心MajorCompaction影响读写性能,所以选择在低峰期手动触发合并。

  2.当用户修改表结构后,希望立刻生效,则手动触发合并。

  3.运维人员发现硬盘空间不够,则会手动触发合并,因为删除了过期数据,腾出空间。

  以上就是本期的所有内容了,至此大数据开发的HBase的知识点也告一段落了,如果忘了之前的知识,可以翻一翻我的文章,我都是按学习顺序写的。可以完全跟着我的进度来学习。

优先领取试听课
新闻资讯更多新闻
版权所有:搜学搜课(wwww.soxsok com)