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

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS Agent(兼容Hermes Agent),2核4GB
RDS Agent Manager,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


相关文章
|
11月前
|
SQL 人工智能 JSON
Flink 2.1 SQL:解锁实时数据与AI集成,实现可扩展流处理
简介:本文整理自阿里云高级技术专家李麟在Flink Forward Asia 2025新加坡站的分享,介绍了Flink 2.1 SQL在实时数据处理与AI融合方面的关键进展,包括AI函数集成、Join优化及未来发展方向,助力构建高效实时AI管道。
1258 43
|
11月前
|
SQL 人工智能 JSON
Flink 2.1 SQL:解锁实时数据与AI集成,实现可扩展流处理
本文整理自阿里云的高级技术专家、Apache Flink PMC 成员李麟老师在 Flink Forward Asia 2025 新加坡[1]站 —— 实时 AI 专场中的分享。将带来关于 Flink 2.1 版本中 SQL 在实时数据处理和 AI 方面进展的话题。
615 0
Flink 2.1 SQL:解锁实时数据与AI集成,实现可扩展流处理
|
11月前
|
SQL 关系型数据库 Apache
从 Flink 到 Doris 的实时数据写入实践 —— 基于 Flink CDC 构建更实时高效的数据集成链路
本文将深入解析 Flink-Doris-Connector 三大典型场景中的设计与实现,并结合 Flink CDC 详细介绍了整库同步的解决方案,助力构建更加高效、稳定的实时数据处理体系。
3754 0
从 Flink 到 Doris 的实时数据写入实践 —— 基于 Flink CDC 构建更实时高效的数据集成链路
|
容灾 安全 关系型数据库
数据传输服务DTS:敏捷弹性构建企业数据容灾和集成
数据传输服务DTS提供全球覆盖、企业级跨境数据传输和智能化服务,助力企业敏捷构建数据容灾与集成。DTS支持35种数据源,实现全球化数据托管与安全传输,帮助企业快速出海并高效运营。瑶池数据库的全球容灾、多活及集成方案,结合DTS的Serverless和Insight功能,大幅提升数据传输效率与智能管理水平。特邀客户稿定分享了使用DTS加速全球业务布局的成功经验,展示DTS在数据分发、容灾多活等方面的优势。
584 0
|
11月前
|
机器学习/深度学习 SQL 大数据
什么是数据集成?和数据融合有什么区别?
在大数据领域,“数据集成”与“数据融合”常被混淆。数据集成关注数据的物理集中,解决“数据从哪来”的问题;数据融合则侧重逻辑协同,解决“数据怎么用”的问题。两者相辅相成,集成是基础,融合是价值提升的关键。理解其差异,有助于企业释放数据潜力,避免“数据堆积”或“盲目融合”的误区,实现数据从成本到生产力的转变。
什么是数据集成?和数据融合有什么区别?
|
人工智能 安全 Dubbo
Spring AI 智能体通过 MCP 集成本地文件数据
MCP 作为一款开放协议,直接规范了应用程序如何向 LLM 提供上下文。MCP 就像是面向 AI 应用程序的 USB-C 端口,正如 USB-C 提供了一种将设备连接到各种外围设备和配件的标准化方式一样,MCP 提供了一个将 AI 模型连接到不同数据源和工具的标准化方法。
10163 121
|
JSON API 数据处理
Winform管理系统新飞跃:无缝集成SqlSugar与Web API,实现数据云端同步的革新之路!
【8月更文挑战第3天】在企业应用开发中,常需将Winform桌面应用扩展至支持Web API调用,实现数据云端同步。本文通过实例展示如何在已有SqlSugar为基础的Winform系统中集成HTTP客户端调用Web API。采用.NET的`HttpClient`处理请求,支持异步操作。示例包括创建HTTP辅助类封装请求逻辑及在Winform界面调用API更新UI。此外,还讨论了跨域与安全性的处理策略。这种方法提高了系统的灵活性与扩展性,便于未来的技术演进。
872 2
|
Java 关系型数据库 MySQL
SpringBoot 通过集成 Flink CDC 来实时追踪 MySql 数据变动
通过详细的步骤和示例代码,您可以在 SpringBoot 项目中成功集成 Flink CDC,并实时追踪 MySQL 数据库的变动。
3600 45
|
运维 安全 数据管理
Dataphin V5.1 企业级发布:全球数据无缝集成,指标管理全新升级!
企业数据管理难题?Dataphin 5.1版来解决!聚焦跨云数据、研发效率、指标管理和平台运维四大场景,助力数据团队轻松应对挑战。无论是统一指标标准、快速定位问题,还是提升管理安全性,Dataphin都能提供强大支持。3分钟了解新版本亮点,让数据治理更高效!
193 0
|
机器学习/深度学习 PyTorch 测试技术
LossVal:一种集成于损失函数的高效数据价值评估方法
LossVal是一种创新的机器学习方法,通过在损失函数中引入实例级权重,直接在训练过程中评估数据点的重要性,避免了传统方法中反复重训练模型的高计算成本。该方法适用于回归和分类任务,利用最优传输距离优化权重,确保模型更多地从高质量数据中学习。实验表明,LossVal在噪声样本检测和高价值数据点移除等任务上表现优异,具有更低的时间复杂度和更稳定的性能。论文及代码已开源,为数据价值评估提供了高效的新途径。
467 13
LossVal:一种集成于损失函数的高效数据价值评估方法

热门文章

最新文章