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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 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
相关文章
|
4月前
|
JSON API 数据处理
Winform管理系统新飞跃:无缝集成SqlSugar与Web API,实现数据云端同步的革新之路!
【8月更文挑战第3天】在企业应用开发中,常需将Winform桌面应用扩展至支持Web API调用,实现数据云端同步。本文通过实例展示如何在已有SqlSugar为基础的Winform系统中集成HTTP客户端调用Web API。采用.NET的`HttpClient`处理请求,支持异步操作。示例包括创建HTTP辅助类封装请求逻辑及在Winform界面调用API更新UI。此外,还讨论了跨域与安全性的处理策略。这种方法提高了系统的灵活性与扩展性,便于未来的技术演进。
281 2
|
5月前
|
SQL 运维 监控
SLS 数据加工全面升级,集成 SPL 语法
在系统开发、运维过程中,日志是最重要的信息之一,其最大的优点是简单直接。SLS 数据加工功能旨在解决非结构化的日志数据处理,当前全面升级,集成 SPL 语言、更强的数据处理性能、更优的使用成本。
18204 142
|
4月前
|
监控 数据安全/隐私保护 异构计算
借助PAI-EAS一键部署ChatGLM,并应用LangChain集成外部数据
【8月更文挑战第8天】借助PAI-EAS一键部署ChatGLM,并应用LangChain集成外部数据
105 1
|
4月前
|
JSON 数据管理 关系型数据库
【Dataphin V3.9】颠覆你的数据管理体验!API数据源接入与集成优化,如何让企业轻松驾驭海量异构数据,实现数据价值最大化?全面解析、实战案例、专业指导,带你解锁数据整合新技能!
【8月更文挑战第15天】随着大数据技术的发展,企业对数据处理的需求不断增长。Dataphin V3.9 版本提供更灵活的数据源接入和高效 API 集成能力,支持 MySQL、Oracle、Hive 等多种数据源,增强 RESTful 和 SOAP API 支持,简化外部数据服务集成。例如,可轻松从 RESTful API 获取销售数据并存储分析。此外,Dataphin V3.9 还提供数据同步工具和丰富的数据治理功能,确保数据质量和一致性,助力企业最大化数据价值。
223 1
|
4月前
|
开发框架 .NET 数据库连接
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
|
4月前
|
Java 测试技术 容器
从零到英雄:Struts 2 最佳实践——你的Web应用开发超级变身指南!
【8月更文挑战第31天】《Struts 2 最佳实践:从设计到部署的全流程指南》深入介绍如何利用 Struts 2 框架从项目设计到部署的全流程。从初始化配置到采用 MVC 设计模式,再到性能优化与测试,本书详细讲解了如何构建高效、稳定的 Web 应用。通过最佳实践和代码示例,帮助读者掌握 Struts 2 的核心功能,并确保应用的安全性和可维护性。无论是在项目初期还是后期运维,本书都是不可或缺的参考指南。
55 0
|
4月前
|
SQL 存储 数据管理
掌握SQL Server Integration Services (SSIS)精髓:从零开始构建自动化数据提取、转换与加载(ETL)流程,实现高效数据迁移与集成——轻松上手SSIS打造企业级数据管理利器
【8月更文挑战第31天】SQL Server Integration Services (SSIS) 是 Microsoft 提供的企业级数据集成平台,用于高效完成数据提取、转换和加载(ETL)任务。本文通过简单示例介绍 SSIS 的基本使用方法,包括创建数据包、配置数据源与目标以及自动化执行流程。首先确保安装了 SQL Server Data Tools (SSDT),然后在 Visual Studio 中创建新的 SSIS 项目,通过添加控制流和数据流组件,实现从 CSV 文件到 SQL Server 数据库的数据迁移。
316 0
|
5月前
|
Serverless 语音技术 开发工具
函数计算操作报错合集之怎么何集成nls tts python sdk
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
|
6月前
|
数据采集 DataWorks 安全
DataWorks产品使用合集之选择独享调度,数据集成里可以使用,但是数据地图里面测试无法通过,是什么原因导致的
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
59 0
DataWorks产品使用合集之选择独享调度,数据集成里可以使用,但是数据地图里面测试无法通过,是什么原因导致的