硬核干货长文!Hbase来了解一下不?

我们为什么选择了Cassandra而没有用Hbase 前不久,我们决定用一款分布式的Nosql来存储一些频繁访问的用户数据,数据量较大。速度最快的是Redis,然而Redis由于集群的部署需要做额外的工作来保证数据的持久化,而单机数据量又不够大,所以我们最终把目标定位到了其它的数据库。如MongoDB,Hbase,Cassandra。下面总结一些我们选择Cassandra的原因。 1.读写速度最快。 这些数据库都能满足我们的需求,至于最终选择哪个 阅读详情

本文公众号来源:互联网侦察   作者:channingbreeze


最近我也在入门大数据相关的基础,这篇文章非常通俗易懂讲解了什么是Hbase,推荐阅读!


等我学所成,我也来写写大数据相关的入门知识。


640?wx_fmt=jpeg

今天,小史的姐姐和吕老师一起过来看小史,一进屋,就有一股难闻的气味。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

可不,小史姐姐走进卫生间,发现地下一个盆子里全是没洗的袜子。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

小史:当然不是,盆里的袜子满了,就先放到这个桶里,然后再继续装,等到桶里的袜子满了,然后才放到洗衣机里一次洗完,这样不仅效率高,而且节省水电费。

640?wx_fmt=jpeg

小史洋洋得意地介绍起自己洗袜子的流程。

640?wx_fmt=jpeg

小史一听就有点不高兴,全世界都黑程序员,没想到自己还没变成程序员就被自家姐姐黑了。

640?wx_fmt=jpeg

说完就进自己房间,把姐姐和吕老师晾在外面。小史姐姐也意识到不该拿程序员开玩笑,但现在也不知道该怎么办,就看着吕老师。

640?wx_fmt=jpeg

吕老师走进小史的房间。

640?wx_fmt=jpeg

640?wx_fmt=jpeg


【hbase是啥】


640?wx_fmt=jpeg

640?wx_fmt=jpeg

小史:别吹了,构建在hdfs上除了能存储海量数据之外,缺点一大堆,上次你给我介绍的hdfs缺点我可没忘啊,不支持小文件,不支持并发写,不支持文件随机修改,查询效率也低。


小史仔细回忆起hdfs来。


640?wx_fmt=jpeg

吕老师:hdfs确实有很多缺点,但是hbase却是一个支持百万级别高并发写入,支持实时查询,适合存储稀疏数据的分布式数据库系统。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:hbase主要用于大数据领域,在这方面,确实比mysql要厉害得多啊,它和mysql的存储方式就完全不一样。mysql是行式存储,hbase是列式存储。

640?wx_fmt=jpeg


【列式存储】


640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:没错,这就是行式存储系统存储稀疏数据的问题,我们再来看看列式存储如何解决这个问题,它的存储结构是这样的

640?wx_fmt=jpeg

640?wx_fmt=jpeg

小史:这个我看懂了,相当于把每一行的每一列拆开,然后通过rowkey关联起来,rowkey相同的这些数据其实就是原来的一行。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:你这里只说到了一个好处,由于把一行数据变成了这样的key-value的形式,所以hbase可以存储上百万列,又由于hbase基于hdfs来存储,所以hbase可以存储上亿行,是一个真正的海量数据库。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:这就是hbase的威力呀,还不只如此,其实很多时候,我们做select查询的时候,只关注某几列,比如我现在只关心大家的工资,传统的按行存储,要选出所有人的工资是怎么办的呢?

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg


640?wx_fmt=jpeg

640?wx_fmt=jpeg

小史:哦,我大概明白了,原来是这样,所以hbase的查询效率也很高,但是我有个问题啊,如果我就要查我的所有信息,这是一行数据,hbase查询起来是不是反而更慢了呢?

640?wx_fmt=jpeg


【列簇】


640?wx_fmt=jpeg

吕老师:列簇,顾名思义,就是把一些列放在一起咯,在hbase中,会把列簇中的列存储在一起,比如我们把和工作相关的salary和job都放在work这个列簇下,那么大概是这样的

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

小史:哦,我明白了,这样的话,一个列簇中的列会被一次就拿出来,如果我要查所有列的信息的话,把所有信息都放在一个列簇就好了。

640?wx_fmt=jpeg

(注意:hbase中,其实所有列都是在列簇中,定义表的时候就需要指定列簇。生产环境由于性能考虑和数据均衡考虑,一般只会用一个列簇,最多两个列簇)


【rowkey设计】


640?wx_fmt=jpeg

640?wx_fmt=jpeg

(注:当然,有些中间件把sql翻译成hbase的查询规则,从而支持了sql查hbase,不在本文讨论范围内)

640?wx_fmt=jpeg

小史:啊?这和我想象的不一样啊,如果我想查询工资比20w多的记录,在mysql中,只要用一条很简单的sql就行啊,这在hbase中怎么查呢?


640?wx_fmt=jpeg

吕老师:在hbase中,你需要把要查询的字段巧妙地设置在rowkey中,一个rowkey你可以理解为一个字符串,而hbase就是根据rowkey来建立索引的

640?wx_fmt=jpeg

640?wx_fmt=jpeg

不熟悉B+树的同学可以看这篇文章。hbase的HFile底层也是一样的原理。


640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:假设员工工资9999w封顶,查询的时候可能根据员工工资查询,也可能根据名字查询一个特定的员工,那么rowkey就可以这样设计

640?wx_fmt=jpeg

(注意,以上rowkey是简化版设计,只是为了讲清楚范围查询。实际使用中由于rowkey需要考虑散列性,所以可能不会这么用。后文会具体探讨散列性。)

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:hbase提供了三种查询方式。

第一种是全表扫描,scan

第二种是根据一个rowkey进行查询

第三种是根据rowkey过滤的范围查询

比如你要查工资不少于20w的记录,就可以用范围查询,查出从startRow=0020到stopRow=9999的所有记录,这是hbase直接支持的一种查询方式哦。

640?wx_fmt=jpeg

吕老师:这里要注意几点,首先,rowkey是按照字符串字典序来组织成B+树的,所以数字的话需要补齐,不然的话会出现123w小于20w的情况,但是补齐的话,你就会发现020w小于123w

640?wx_fmt=jpeg

640?wx_fmt=jpeg

小史:哦,明白了,这都很好理解,因为rowkey是字符串形式,所以肯定是按照字符串顺序排序咯。而且rowkey有点类似于mysql中的主键吧,所以保证其唯一性也是可以理解的。还有就是因为每个key-value都包含rowkey,所以rowkey越短,越能节省存储空间。

640?wx_fmt=jpeg

(注意,如果rowkey复杂且查询条件复杂,hbase还针对rowkey提供了自定义Filter,所以只要数据在rowkey中有体现,能解析,就能根据自己的条件进行查询)

640?wx_fmt=jpeg

小史:但是吕老师,我有一个问题啊,之前说过hdfs不适合存储小文件,而hbase中的一条记录只有一点点数据,记录条数却很多,属于海量小文件,存在hdfs中不是内存爆炸了吗?

640?wx_fmt=jpeg

【LSM三层存储模型】

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

小史:哦,这就像把盆里的袜子放到桶里一样。但是吕老师,如果数据量大的话,时间一长,就会有很多次刷写,不就形成了很多个小文件吗?这岂不又是海量小文件了?

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

不记得hdfs原理的同学可以温习一下,【生活现场】从生日请客到hdfs工作原理解析

640?wx_fmt=jpeg

吕老师:对了,hbase也是使用同样的思想,其实这就是WAL预写日志的思想,hbase也会将数据的操作先写日志,然后存到内存,哪天机器挂了,内存丢了,还能从WAL日志中将数据恢复。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

【数据修改】


640?wx_fmt=jpeg

小史:不过吕老师,我还有问题啊,我记得hdfs是不能随机修改文件的,只能追加,那么hbase里的数据是不是写了之后就不能改也不能删除呢?

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:删除同样是追加一条版本最新的记录,只不过标记这个数据被删除而已,查询的时候,看到版本最新的记录是数据删除,就知道这个数据被删了。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:哈,小史,你思考得非常深入,还记得LSM的第三层吗,hbase会在合并的时候,将这些用不到的记录删除掉,节省存储空间。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:不全对,其实hbase把合并分为两种,一种是小合并minor compact,这种方式只会将少数文件进行简单合并,不会进行数据的清理,还有一种是大合并major compact,这种方式会将大部分文件进行合并,并且清理数据。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:基本正确,但是你要知道,如果数据量大,这个过程是非常耗性能的,一般在生产环境都禁止大合并,否则在正常服务的时候突然来个大合并,整个集群可能资源被耗光,没法正常服务。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

【hbase架构】


640?wx_fmt=jpeg

640?wx_fmt=jpeg


640?wx_fmt=jpeg

小史:hbase的架构似乎也是master-slave架构,和hdfs有点像,HMaster是用来管理集群,HRegionServer是真正存储数据的地方吧?

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:啊,这块不太对,hbase在数据查询和写入的时候,其实并不是像hdfs那样询问HMaster。在hbase中,每一张表都会有元信息,这些信息也是被存储为hbase表,称为元信息表,也叫meta表,这是一种系统表。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

小史:但是这又有个问题,既然meta表也是存储在hbase上,那么hbase又如何知道meta表存在哪个HRegionServer上呢?这岂不是一个鸡生蛋蛋生鸡的问题?

640?wx_fmt=jpeg

吕老师:小史啊,我说meta表是hbase表,是指meta表也是用rowkey和value的键值存储,但是我并没有说meta表在hbase上啊。其实meta表不是存储在HRegionServer上,而是存储在那个分布式协调服务zookeeper上面。

640?wx_fmt=jpeg

小史:哦,原来如此,所以meta表其实是在一个固定地方读取,然后根据meta表就知道数据在哪个HRegionServer上。但是zookeeper又是啥呢?

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:其实HMaster的任务相对不繁重,但是却比较重要,它主要是通过调整和管理Region分布来实现HRegionServer的负载均衡。

640?wx_fmt=jpeg

【HRegionServer架构】


640?wx_fmt=jpeg

吕老师:其实Region是hbase在rowkey上的切分,每个Region都可以通过startKey和endKey来确定rowkey的范围,一个HRegionServer上可能会有多个Region。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

小史:所以说数据是根据rowkey和一定的哈希规则,分散到不同的Region上面,而Region又是属于某一个HRegionServer上的,这个关系没错吧?

640?wx_fmt=jpeg

吕老师:没错,通过这里其实可以得出rowkey设计的另一个原则,就是散列性,rowkey的头几个字母,最好不要是一样的,不然会分布在同一个HRegionServer上面,导致这个HRegionServer的负载非常高,累死累活,其他HRegionServer却没事干。一般可以根据一定规则算一个数据的摘要,比如md5,把md5的头几位拼在rowkey的前面。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:哈哈,名词没讲过,原理可都是讲过的哟。比如这个Store,我们之前说过,一个列簇中的列是存储在一起的,对应到这里,一个列簇中的数据就是存到一个Store中。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:没错,这里StoreFile只是一个名字,它是以HFile的格式存储在hdfs上,HFile是一个存储格式,在新版本的HFile存储格式中,它就是一个类似B+树的索引索引形式。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

【读取和写入流程】


640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

1、hbase client要写输入了,先从zookeeper中拿到meta表信息,根据数据的rowkey找到应该往哪个RegionServer写

2、然后hbase会将数据写入对应RegionServer的内存MemStore中,同时记录操作日志WAL

3、当MemStore超过一定阈值,就会将内存MemStore中的数据刷写到硬盘上,形成StoreFile

4、在触发了一定条件的时候,小的StoreFile会进行合并,变成大的StoreFile,有利于hdfs存储

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:其实当大量rowkey相近的数据都被分配到一个Region中,导致这个Region数据过大的时候,Region进行拆分,HMaster会对拆分后的Region重新分配RegionServer,这是HMaster的负载均衡策略。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

1、hbase client要读数据了,先从zookeeper中拿到meta表信息,根据要查的rowkey找到对应的数据在哪些RegionServer上

2、分别在这些RegionServer上根据列簇进行StoreFile和MemStore的查找,得到很多key-value结构的数据

3、根据数据的版本找到最新数据进行返回

640?wx_fmt=jpeg

【OLTP和OLAP】

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

吕老师:OLTP应用叫联机事务处理应用,就是类似银行转账等业务的,这类应用对事务要求比较高,而OLAP应用叫联机分析处理应用,比如推荐系统,是在收集了大量用户行为后进行分析,再得出结论的应用,主要侧重分析,对事务要求非常低。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

【笔记】


640?wx_fmt=jpeg

640?wx_fmt=jpeg

小史把这次学习到的hbase的知识记了下来

1、hbase是列式存储,和mysql的行式存储不一样

2、hbase中有列簇概念,同一个列簇下的列存储在一起,在Region的一个StoreFile中

3、hbase是按照rowkey进行查找,要查询的字段要想办法放到rowkey中

4、hbase内部使用LSM三层模型进行存储,数据先写到内存MemStore中,内存达到一定阈值再刷写到硬盘StoreFile中,再满足一定条件时,小的StoreFile会合并为大的StoreFile

5、hbase适合OLAP类的应用


学完hbase,记完笔记,小史开开心心地洗袜子去了。


推荐阅读:

640?wx_fmt=jpeg


200多篇 原创 技术文章 海量视频资源 精美脑图 面试题

长按扫码可关注获取 

欢迎关注640?wx_fmt=png点个再看640?wx_fmt=png

为什么hbase在大数据领域渐渐消失 HBase 在过去为大数据存储提供了可靠的分布式解决方案,但随着数据处理需求的多样化和复杂化,企业在实时查询、多模型支持、易用性和维护成本等方面有了更高的要求。HBase 的运维复杂性和实时性限制使其在应对新兴业务需求上略显不足,逐渐被性能更优、支持更丰富的数据模型和 SQL 查询的新型数据库替代。因此,HBase 的使用逐渐减少,但在一些特定的批处理、历史数据归档和结构化数据存储场景中,HBase 仍然具有优势和应用价值。 阅读详情

相关推荐

HBase不睡觉

为什么要叫不睡觉书呢?因为我们发现阻碍人们学习新技术最大的 障碍不是技术的难度或者条件的限制,而是学习技术时难以抵挡的困 意,所以我们的目标就是写一本让人看了不会睡着的HBase技术书籍。 希望大家可以通过这本书成功地入门HBase技术。 为什么要写这本书? 目前网上关于HBase的知识比较零碎,缺乏系统性。翻译的作 品,语言的组织又不符合国人的习惯。 目前的资料都很旧。连英文的资料很多都过时了,比如现在很多 的书籍和网上的资料都还在介绍三层查询架构,可是HBase早已 经改成二层查询架构了。实际操作到的跟书上的操作不一样,这 很让人沮丧。

真没想到,这篇文章能让我看懂HBase

顺便收割几个offer

3y 2297

高分系列卫星轨道、传感器参数等信息

遥感卫星数据简介-高分系列

中遥科 3309

【生活现场】从洗袜子到hbase存储原理解析

郑重声明:漫画人物和故事情节均是原创,未经同意禁止任何形式的转载,侵权将进入法律程序。大佬除外。欢迎大家转发文章,谢谢!小史是一个非科班的程序员,虽然学的是电子专业,但是...

yeluoxiang的专栏 537

群晖设置公网ipv6方式域名解析访问

群晖、IPV6、域名解析

爬山虎的博客 2万+

Pyradiomics 医学影像提取放射组学特征(下)

Pyradiomics 医学影像提取放射组学特征(下)

Edward的博客 1312

Hbase简介

简介

m0_58625397的博客 771

SWD下载调试接口原理深度剖析

作为ARM嵌入式工程师,下载调试器都应该知道,但你真正了解SWD如何下载调试的么?ARM 芯片通过什么物理接口和什么方式连接完全取决于芯片Debug子系统的架构如何?

zhuwade的博客 1万+

OLTP和OLAP问题的个人总结

Hbase 是面向oltp的数据库,通过LSM机制来平衡写和读的性能。但是要注意Hbase的思想是oltp,所以注定重点是写,要牺牲读,更适合多写少读的场景。但是实际情况下大多数读写场景通过Hbase就可以完全满足,为什么呢?因为LSM和其他一套组合拳也大量提升了读的性能。Hbase具体原理可见前文记录。.........

weixin_40503364的博客 1104

无需云服务器:飞牛云NAS+Docker搭建本地WordPress站点全球访问

在数字化浪潮中,网站搭建已成为个人和企业在推广自身品牌与业务的首要选择。飞牛云新推出的fnOS,这款集多功能于一身的nas系统,以其卓越的性能和灵活性,成为理想的本地网站部署平台。本文将带你一探如何在飞牛云NAS上通过Docker部署WordPress,并利用cpolar实现全球访问。

LT15171009269的博客 6528

Microchip Studio 7.0 从下载到项目调试:AVR开发者的完整入门指南(附常见问题解决)

本文为AVR开发者提供了Microchip Studio 7.0从下载安装到项目调试的完整入门指南。详细介绍了如何获取安装包、创建第一个AVR工程项目,并配置编译与调试环境。同时,文章重点解决了开发过程中常见的编译错误和仿真问题,帮助开发者快速上手并高效使用这一官方集成开发环境。

joy55的博客 334

HBase

hadoop实时day19–Apache HBase 今日课程内容大纲 1、Apache HBase 介绍概述 nosql 数据库 2、Apache HBase 数据模型 3、Apache HBase 和hadoop关系 和rdbms关系 4、Apache HBase 特性优点 5、Apache HBase 组件角色、职责--初识版 主从架构集群 6、Apache HBase集群搭建 7、Apache HBase shell 操作 DDL:创建表 修改表 删除表 DML:插入数据

qq_43528451的博客 526

【GameFramework框架内置模块】6、实体(Entity)

实体Entity就是一个实体的基本单元,类似于Unity的GameObject对象本体,然后这个本体上面附加其他各种各样组件,才能实现各种各样的功能。一般需要在游戏运行时动态加载的游戏对象,比如怪物、武器、子弹、特效,都需要给这个物体挂载一个实体Entity,这样的话就可以方便的对实例出来的对象进行管理。下面就来看一下如何使用吧。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 3137

hbase hdfs外部表_硬核干货长文!Hbase来了解一下不?

本文公众号来源:互联网侦察 作者:channingbreeze最近我也在入门大数据相关的基础,这篇文章非常通俗易懂讲解了什么是Hbase,推荐阅读!等我学所成,我也来写写大数据相关的入门知识。今天,小史的姐姐和吕老师一起过来看小史,一进屋,就有一股难闻的气味。可不,小史姐姐走进卫生间,发现地下一个盆子里全是没洗的袜子。小史:当然不是,盆里的袜子满了,就先放到这个桶里,然后再继续装,等...

weixin_42356284的博客 224

3.2 直流无刷电机(BLDC):状态空间模型与传递函数

状态空间模型和传递函数是分析BLDC电机动态特性的重要工具。状态空间模型通过微分方程描述系统内部状态与输入输出关系,适用于多变量系统分析;传递函数则在频域表征系统特性,便于控制器设计。本文详细推导了三相坐标系和dq坐标系下的BLDC电机状态空间模型,讨论了线性化方法,并介绍了从状态空间模型到传递函数的转换过程。这些模型为BLDC电机的控制系统设计提供了理论基础。

技术工作者 245

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

史上最全系列 | 大数据框架知识点汇总(资源分享、还不快拿去)

前言 大家好,我是土哥 写文章整整 五个月 了,在这期间写了很多篇高质量文章,每一篇都在 1000+ 阅读以上,为了让各位小伙伴更好的学习和面试,我将自己 发表的文章 以及 未发表的文章 全部汇总成一个文档,里面包含了全部的无水印高清图片,具体内容如下: 关注公众号:【3分钟秒懂大数据】,回复关键字:【大数据】,进群领取 下文全部 PDF 文件。 1、大数据学习路线 文章硬不硬核,你说了算,土哥怒肝大数据学习路线一条龙!(万字长文+资源分享) 上述文章将所有组件的安装包全部都收集好,版本

逆流而上Mr李 5326

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

史上最全系列 | 大数据框架知识点汇总(资源分享、还不快拿去!)

最近在看大数据相关的一些知识,恰好认识了土哥。整理了一系列很全的系列文章,包含 20+ 公司的面经,各大数据和组件的由浅入深的内容。推荐有需要的朋友关注和学习!前言大家好,我是土哥,很荣幸...

EDDYCJY的博客 786

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

最近认识的新朋友

今天给大家推荐 7 个我的好朋友,都是来自各领域的大佬,有做离线数仓、实时数仓、数据工具链开发、数据治理、到数据分析的。跟着几位大佬学习业务数据化、数据资产化、资产服务化、服务业务化。听一...

大数据技术派 372

HBase与Hive:数据仓库和OLAP

1.背景介绍 1. 背景介绍 HBase 和 Hive 是 Apache Hadoop 生态系统中两个重要的组件。HBase 是一个分布式、可扩展、高性能的列式存储系统,主要用于存储大量结构化数据。Hive 是一个基于 Hadoop 的数据仓库解决方案,主要用于处理和分析大规模数据。 HBase 和 Hive 之间的关系是相互补充的。HBase 提供了低延迟的随机读写访问,而 Hive 提供...

AI天才研究院 1484

Hbase实战处理(一)关于hbase的表设计和集成

hbase集群的HA配置(假如有3台机器(同时是regionserver角色),master、slaver1、slaver2)stop-hbase.sh cd /home/hadoop-twq/bigdata/hbase-1.2.6/conf vi backup-masters 在master机器上文件增加如下的记录:slave1 ---backup master的节点ip---把backup的信息同步给其余的slave。jps验证访问: http://slave1:16010。

sheep8521的博客 1768

海量数据存储与分析:HBase vs ClickHouse vs Doris 三大数据库优劣对比指南

在当今大数据时代,数据正以前所未有的速度持续增长。来自各个领域的数据,如互联网行业用户的每一次点击、浏览记录,金融机构的海量交易数据,以及物联网设备源源不断上传的实时监测数据等,其规模呈指数级攀升。据权威机构统计,全球每年产生的数据量从过去的 EB 级迅速迈向 ZB 级。如此庞大的数据量,对数据存储和分析提出了极为严苛的要求。 

涤生大数据 3075

《大数据技术体系详解》问题积累(持续更新)

文章目录一.数据收集1.关系型数据收集2.非关系型数据收集3.消息队列Kafka二.数据存储三.协调与资源管理四.计算引擎五.数据分析1.Hive2.Spark SQL 一.数据收集 1.关系型数据收集 sqoop:全量收集。 sqoop2和sqoop1的比较,就是将以前的CLI变为Server,然后再实现一个轻量级的CLI,可通过命令行或者HTTP来访问Server。就是把以前的CLI部署到了云端,现在的CLI只需要发送命令就行了。 sqoop提交的就是一个只有map的MR程序。 从mysql导入到h

程研板的博客 1418

【生活现场】从洗袜子到hbase存储原理解析(上篇)

郑重声明:漫画人物和故事情节均是原创,未经同意禁止任何形式的转载,侵权将进入法律程序。大佬除外。欢迎大家转发文章,谢谢!小史是一个非科班的程序员,虽然学的是电子专业,但是...

yeluoxiang的专栏 531

Apache HBase的现状和发展

一、HBase是什么HBase(Hadoop Database),是一个基于Google BigTable论文设计的高可靠性、高性能、可伸缩的分布式存储系统。它有以下特征:1.HBase仍然是采用行存储的,采用松散表的结构来获得动态列的功能;2.原生海量数据分布式存储。在单个数据库中可以存档GB甚至上pb。在一行中也可以存储上百万列。任何大小的数据量都适合采用HBase;3.不仅支持随机查询,还支...

cpongo5 1246

58HBase平台实践和应用-OLAP篇

Kylin是一个底层使用HBase作为存储引擎和查询引擎的的多维分析平台,并对外提供标准SQL查询功能。在超大规模数据集上,Kylin还能达到亚秒级的查询响应。Kylin...

大数据星球-浪尖 685

【生活现场】从洗袜子到HBase存储原理解析

小史是一个非科班的程序员,虽然学的是电子专业,但是通过自己的努力成功通过了面试,现在要开始迎接新生活了。对小史面试情况感兴趣的同学可以观看面试现场系列。今天,小史的姐姐和吕老师一起过来看...

CREATE_17的博客 258
上一篇: 程序员的快乐就是这么朴素无华且枯燥
下一篇: 在公司做的项目和自己在学校做的有什么区别?
Java3y
Java3y 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 1万+粉丝 509原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值