hbase 整理

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

时间同步设置
ntpdate.cn.pool.ntp.org
zookeeper
分布式系统协调工具 高可用协调工具
zookeeper 上的数据存在于每个server节点上 每个节点上的zookeeper节点上保存的数据都是全量数据zookeeper上保存的数据的方式和文件系统保存数据一样

hbase的数据模型
sql 在sql的数据库中包含两种元素
即 模式和元组
nosql:在nosql里面一般更强调元组而弱化模式 有些nosql中没有模式 有些nosql有比较弱的模式 比方说有些表而没有明确字段 或者有表有更为冠以上的字段

hbase 是nosql中的一种 它的设计和他使用都是反模式的。它里面不是完全没有模式 ,它的模式分为三层。
1.namespace 类似于mysql 的database
2.table 类似于MySQL的table
3.column 雷速与mysql的table
把他认为是mysql里面一个表的多个字段按照找某个条件分成多组
一个hbase 中可以创建若干个2namespace namespace一般用来做部门或者应用之间的数据隔离
一个namespace下可以创建若干个table table做不通种类的数据之间的隔离
一个列簇下面可以有若干个列簇

hbase 的劣质可以使任意类型
hbase对其中所有存储的数据不做任何类型上的限制
hbase在存储数据的位置不作任何类型上的限制
hbase在存储书籍肚饿位置处统一的吧数据转换成字节数组来进行保存的。

namespace的基本操作
create_namespace 'bd2o'
list_namespace 展示hbase有多少个namespace
list_namespace_table 'bd20' 展示bd20数据下有多少张表

drop_namespace 'bd20'
table 的基本操作
创建表
create 'bd20:table_name' ,'column_family'
describe 'bd20:table_name'
disable 'bd20:table_name'
drop 'bd20:table_name'

--alter table
alter 'bd20:table1',NAME=>'c1',method=>'delete'
alter table 'bd20:tale1',NAME=>'c2'
create

create 'cms_link','primary_info','system_info'

mysql 上所说的一条数据值的是一行数据
hbase中所说的一条数据值的是一行数据中的单元格
put ‘cms_link’,'1','primary_info:category_id','19'

hbase 底层数据存储
hbase 的底层数据是按照挑来保存的,每一条数据在底层数据文件里面占据一个存储空间。每条数据的格式如下
rowkey
timestamp
family_column
hbase的数据文件是吧每条数据以kv的形式来存储的
因为key上的大部分数据都是冗余的,范式我们自己设计的kety上的数据 尽可能的限定他们的长度
rowkey在设计师要舍得尽可能的端
列簇在设计上要尽可能的端,要尽可能的表达劣质的数据内容的意义,比方说姓名,年龄等。
hbase架构原理
hbase中的没一张表都是分布式存储的
hbase 吧一张表的tale划分为多个region 每个rigion可以散布在不同的regionserver 上来对外提供服务,hbase 是根据兴业划分region 也就是说hbase是根据rowkey 来划分region的。
每个region都有自己的rowkey上下线,第一个region没下线,最后一个region 没有上下限,当一条记录需要保存在habse 中,hmaster 会判断这条记录的rowkey应该分布在哪个region上,然后转交给这个region所负责的regionserver来执行读写操作。

hbase 的region 的大小会随着里面的数量的增加而增加。当以region的体谅超过256M时,这个region就会分裂。分裂的过程有hmaster主导,由hregionserver执行,在分裂的过程中,不对外提供读写服务。
hbase 中如果在定义表示不对表进行预分区。那么整个hbase 表就只有一个region 为了尽可能的皮面分裂最好。
create ‘stable1’,‘i’,SPLITS=>['100','200','300','400','500']
hbase 根据rowkey查找一个表tableA数据的过程 根据root表来确定meta的位置,root表存在于zookeeper 中 根据元数据定位taleA的位置,元数据保存在hbase的meta 表中。
定位tableA的位置,然后根据rowkey来确定要查找记录的准确region 根据region定位其所在。
regionserver regionserver根据rowkey就检索数据文件中记录的位置从而获取数据。

hbase中的数据来源
1.来源自自己有的数据文件
mapreduce
hive
spark

bulk loading
2.来自业务系统不断增加的数据记录。
java api
shell
其他语言 +thrift服务
hbase api操作
1.构建配置参数对象,使用hbaseConfiguration来创建。
2.创建Connection 对象。使用ConnectionFactory 来创建。
3.如果执行ddl来操作的话需要Admin对象。通过Connection来获取。
4.如果执行dml操作的话需要Table对象,通过Connection来获取。
往hbase里面插入数据 需要Put对象,一个Put对象代表一行数据。
mapreduce读写hbase
TableInoutFormat
TableOutputFotmat
TableMapper
TableReducer
TableMapReduceUtil
写hbase 需要在job上配置输出格式为
TableOutputFormat,reduce 的输出kv必须满足写入hbase表的kv类型
可以通过写reduce继承TabeReducer来解决这个kv类型的限定。
在Job中还得设置目标表,可以通过调用。

相关文章
|
9月前
|
算法 测试技术
北大李戈团队提出新代码模型对齐方法 CodeDPO:显著提升代码准确性与执行效率
北京大学李戈团队提出CodeDPO,一种新型代码模型对齐方法,通过整合偏好学习提升代码生成的准确性和执行效率。该方法采用自我生成和验证机制,基于PageRank算法迭代优化代码片段排名,构建偏好优化数据集。CodeDPO在HumanEval基准测试中实现83.5%的通过率,显著优于现有方法,并能提高代码执行效率。其灵活性和可扩展性使其适用于多种编程任务,但训练资源需求较大,且依赖于生成测试用例的质量。论文链接:https://arxiv.org/pdf/2410.05605。
218 2
|
负载均衡 数据可视化 API
像素流送api ue多人访问需要什么显卡服务器
本文总结了关于像素流送技术的五大常见问题,包括是否支持Unity模型推流、UE多人访问的最大并发数、所需服务器配置、稳定性问题及API支持情况,旨在帮助开发者更好地理解和应用这一技术。
442 1
|
机器学习/深度学习 数据可视化 数据挖掘
Jupyter Notebook: 数据科学的最佳实践
【8月更文第29天】Jupyter Notebook 是一个交互式的计算环境,非常适合进行数据分析、可视化和机器学习任务。它不仅支持多种编程语言(如 Python、R 和 Julia),还能将文本、代码、图表和多媒体元素融合在一起,非常适合编写可重复使用的分析报告。
770 1
|
人工智能 自然语言处理 数据可视化
🚀从零到英雄!AI Prompt赋能商业数据分析,新手也能成专家
【8月更文挑战第1天】在数字化时代,商业数据分析至关重要但门槛高。AI Prompt技术革新了这一领域,使新手能迅速成为专家。AI Prompt通过自然语言指令驱动AI执行数据分析任务,无需编程背景即可享受数据洞察。例如,新分析师可通过简单指令分析销售数据,计算关键指标并生成可视化报告。随着技能提升,可设计更复杂的指令满足多样需求。AI Prompt还能自我学习优化,提高分析质量和效率。总之,这项技术简化了数据分析流程,加速了人才的成长路径。
450 0
|
人工智能 供应链 算法
仅发布3个月 瓴羊One已助力超2500个店铺突破增长
仅发布3个月 瓴羊One已助力超2500个店铺突破增长
353 0
|
存储 JSON 数据挖掘
速卖通商品API接口的使用指南与示例
速卖通(AliExpress)是阿里巴巴旗下的全球性跨境电商平台,为全球消费者和商家提供了一个便捷的在线交易平台。为了方便商家和开发者获取速卖通商品详情,速卖通提供了商品API接口。本文将详细介绍如何通过速卖通商品API接口来获取速卖通商品详情,并提供相应的代码示例。
|
安全 网络安全 开发工具
【Git】gui图形化界面的使用、ssh协议以及idea集成Git
【Git】gui图形化界面的使用、ssh协议以及idea集成Git
522 0
|
Android开发
Android中下拉通知栏,Activity会走哪些生命周期?
我们就可以做一个总结:当前Activity中,下拉通知栏,是不走任何生命周期的。
434 0
|
网络可视化 Windows
EndNote 中批量导出 PDF
EndNote 中批量导出 PDF
443 0
|
安全 搜索推荐 数据安全/隐私保护
云钉一体:阿里云 IDaaS 加入钉钉 iPaaS 联盟,安全连通人和应用
在2022杭州·云栖大会上,钉钉宣布组建 iPaaS 联盟,阿里云应用身份服务IDaaS成为iPaaS 平台首款身份服务类产品,与钉钉共同助力钉上企业应用的互通互联,打破身份数据孤岛,降低企业研发成本,提高协作效率,助力企业数字化转型升级。
727 0