HBase Region分区、数据压缩及与Sqoop集成操作

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 笔记

一、HBase表region预分区的几种方式


第一种:创建5个region分区表

create_namespace 'track'
create 'track:stu', 'info', SPLITS => ['10', '20', '30', '40']

第二种:split强制拆分

split 'tableName', 'splitKey'
split 'track:stu', '50'

第三种:将拆分的key值放在文件中

create 'track:stu_1', 'info', SPLITS_FILE => '/opt/datas/splits.txt'

第四种:

create 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit'}


二、HBase表数据的压缩配置


首先Hadoop安装snappy,详细请见博客:

https://blog.csdn.net/weixin_45366499/article/details/109271630

查看hbase是否支持压缩

bin/hbase --config ~/conf_hbase org.apache.hadoop.util.NativeLibraryChecker
Native library checking:
hadoop:  true /opt/modules/hadoop-2.6.0-cdh5.9.3/lib/native/libhadoop.so.1.0.0
zlib:    true /lib64/libz.so.1
snappy:  true /opt/modules/hadoop-2.6.0-cdh5.9.3/lib/native/libsnappy.so.1
lz4:     true revision:99
bzip2:   false 
openssl: true /lib64/libcrypto.so

配置HBase表数据的压缩

ln -s  /opt/modules/hadoop/lib/native  /opt/modules/hbase/lib/native/Linux-amd64-64

创建HBase表

create 'stu_snappy','info'

修改表的属性为snappy压缩

alter "stu_snappy",{NAME => 'info',COMPRESSION => 'SNAPPY'}

可以使用CompressionTest工具来验证snappy的压缩器可用于HBase:

bin/hbase  org.apache.hadoop.hbase.util.CompressionTest hdfs://bigdata-pro-m01:9000/user/caizhengjie/datas/snappy snappy


三、HBase与Sqoop集成


通常来说HBase与Sqoop集成,是将mysql的数据导入到HBase中

mysql -> HBase

第一步:在sqoop的sqoop-env.sh文件里添加

export HBASE_HOME=/opt/modules/hbase

第二步:创建MySQL数据表并创建数据

CREATE TABLE  user_info_hbase (
  id varchar(20) DEFAULT NULL,
  username varchar(20) DEFAULT NULL,
  address varchar(20) DEFAULT NULL
)
insert into user_info_hbase values('0001','admin','admin');
insert into user_info_hbase values('0002','wang','111111');
insert into user_info_hbase values('0003','zhang','000000');
insert into user_info_hbase values('0004','lili','000000');
insert into user_info_hbase values('0005','henry','000000');
insert into user_info_hbase values('0006','cherry','000000');

第三步:创建hbase表

create 'user_info','info'


第四步:可以查看HBase与Sqoop集成之间的参数

HBase arguments:
   --column-family <family>    Sets the target column family for the
                               import
   --hbase-bulkload            Enables HBase bulk loading
   --hbase-create-table        If specified, create missing HBase tables
   --hbase-row-key <col>       Specifies which input column to use as the
                               row key
   --hbase-table <table>       Import to <table> in HBase

第五步:通过sqoop导入数据

bin/sqoop import \
--connect jdbc:mysql://bigdata-pro-m01:3306/db_sqoop \
--username root \
--password 199911 \
--table user_info_hbase \
--column-family info \
--hbase-bulkload \
--hbase-row-key id -m 1 \
--hbase-table user_info

第六步:查看运行结果

hbase(main):012:0> scan 'user_info'
ROW                                    COLUMN+CELL                                                                                                  
 0001                                  column=info:address, timestamp=1605251319678, value=admin                                                    
 0001                                  column=info:username, timestamp=1605251319678, value=admin                                                   
 0002                                  column=info:address, timestamp=1605251319678, value=111111                                                   
 0002                                  column=info:username, timestamp=1605251319678, value=wang                                                    
 0003                                  column=info:address, timestamp=1605251319678, value=000000                                                   
 0003                                  column=info:username, timestamp=1605251319678, value=zhang                                                   
 0004                                  column=info:address, timestamp=1605251319678, value=000000                                                   
 0004                                  column=info:username, timestamp=1605251319678, value=lili                                                    
 0005                                  column=info:address, timestamp=1605251319678, value=000000                                                   
 0005                                  column=info:username, timestamp=1605251319678, value=henry                                                   
 0006                                  column=info:address, timestamp=1605251319678, value=000000                                                   
 0006                                  column=info:username, timestamp=1605251319678, value=cherry                                                  
6 row(s) in 0.3670 seconds


相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
&nbsp; 相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情:&nbsp;https://cn.aliyun.com/product/hbase &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
2天前
|
机器学习/深度学习 PyTorch 测试技术
LossVal:一种集成于损失函数的高效数据价值评估方法
LossVal是一种创新的机器学习方法,通过在损失函数中引入实例级权重,直接在训练过程中评估数据点的重要性,避免了传统方法中反复重训练模型的高计算成本。该方法适用于回归和分类任务,利用最优传输距离优化权重,确保模型更多地从高质量数据中学习。实验表明,LossVal在噪声样本检测和高价值数据点移除等任务上表现优异,具有更低的时间复杂度和更稳定的性能。论文及代码已开源,为数据价值评估提供了高效的新途径。
28 13
LossVal:一种集成于损失函数的高效数据价值评估方法
|
5天前
|
人工智能 安全 Dubbo
Spring AI 智能体通过 MCP 集成本地文件数据
MCP 作为一款开放协议,直接规范了应用程序如何向 LLM 提供上下文。MCP 就像是面向 AI 应用程序的 USB-C 端口,正如 USB-C 提供了一种将设备连接到各种外围设备和配件的标准化方式一样,MCP 提供了一个将 AI 模型连接到不同数据源和工具的标准化方法。
|
5月前
|
JSON API 数据处理
Winform管理系统新飞跃:无缝集成SqlSugar与Web API,实现数据云端同步的革新之路!
【8月更文挑战第3天】在企业应用开发中,常需将Winform桌面应用扩展至支持Web API调用,实现数据云端同步。本文通过实例展示如何在已有SqlSugar为基础的Winform系统中集成HTTP客户端调用Web API。采用.NET的`HttpClient`处理请求,支持异步操作。示例包括创建HTTP辅助类封装请求逻辑及在Winform界面调用API更新UI。此外,还讨论了跨域与安全性的处理策略。这种方法提高了系统的灵活性与扩展性,便于未来的技术演进。
308 2
|
6月前
|
存储 分布式数据库 数据库
Hbase学习二:Hbase数据特点和架构特点
Hbase学习二:Hbase数据特点和架构特点
98 0
|
2月前
|
缓存 监控 Shell
如何使用 HBase Shell 进行数据的实时监控和备份?
如何使用 HBase Shell 进行数据的实时监控和备份?
|
2月前
|
Shell 分布式数据库 Hbase
如何使用 HBase Shell 进行数据的批量导入和导出?
如何使用 HBase Shell 进行数据的批量导入和导出?
181 5
|
3月前
|
存储 分布式计算 Hadoop
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
75 2
|
5月前
|
监控 数据安全/隐私保护 异构计算
借助PAI-EAS一键部署ChatGLM,并应用LangChain集成外部数据
【8月更文挑战第8天】借助PAI-EAS一键部署ChatGLM,并应用LangChain集成外部数据
117 1
|
5月前
|
JSON 数据管理 关系型数据库
【Dataphin V3.9】颠覆你的数据管理体验!API数据源接入与集成优化,如何让企业轻松驾驭海量异构数据,实现数据价值最大化?全面解析、实战案例、专业指导,带你解锁数据整合新技能!
【8月更文挑战第15天】随着大数据技术的发展,企业对数据处理的需求不断增长。Dataphin V3.9 版本提供更灵活的数据源接入和高效 API 集成能力,支持 MySQL、Oracle、Hive 等多种数据源,增强 RESTful 和 SOAP API 支持,简化外部数据服务集成。例如,可轻松从 RESTful API 获取销售数据并存储分析。此外,Dataphin V3.9 还提供数据同步工具和丰富的数据治理功能,确保数据质量和一致性,助力企业最大化数据价值。
255 1

热门文章

最新文章