一种HBase表数据迁移方法的优化

简介: 一种HBase表数据迁移方法的优化

一种HBase表数据迁移方法的优化

1.背景调研:

目前存在的hbase数据迁移主要分如下几类:

 

根据上图,可以看出:

其实主要分为两种方式:(1)hadoop层:因为hbase底层是基于hdfs存储的,所以可以通过把hdfs上的数据拷贝的方式来实现,即:DistCp。

(2)hbase层:主要是基于hbase数据层的

CopyTable:需要scan全表数据,效率比较低下

Export/Import:scan全表数据到文件然后再import其他集群上

Snapshot:通过快照的方式,只对元数据进行克隆,不拷贝实际数据,因此性能比较好

 

2.方案优化

基于hadoop层的数据拷贝是拷贝了表中的全部数据,而基于hbase层操作其中部分也是拷贝全表数据,当需要写部分列数据或者部分时间段数据的时候就会存在问题,而且一次性扫描全部数据,会对hbase性能影响很大,在此基础上,本文主要针对hbase表数据部分列数据迁移,以及对全表扫描的问题做了优化。

 

3.步骤

        (1)选择需要迁出的hbase表

        (2)输入需要迁移的列

        (3)选择需要迁入的hbase表

        (4)设置rowkey:字段需要为迁出的hbase表中的列或者rowkey

       

       扫描表的数据时的优化处理:每次设定固定扫描行数N(N建议设置200-300间比较合适,切记一次性读取到内存中过多,会导致内存溢出),每扫描一次向新表写入一次,接下来从上一次结束处开始扫,依次类推进行循环。当最后一次扫描到的数据小于N或者达到设置的rowkey即可停止扫描。

        采用扫描一部分写入一部分的方式,解决一次性扫描全表的性能问题,同时也避免一次性取出太多数据,导致程序内存溢出等问题。


相关实践学习
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
6月前
|
存储 分布式数据库 数据库
Django项目中使用Hbase的方法
Django项目中使用Hbase的方法
|
1月前
|
存储 Java Linux
Linux安装HBase的详细教程及常用方法
Linux安装HBase的详细教程及常用方法
106 1
|
3月前
|
存储 缓存 分布式数据库
HBase的性能优化有哪些方法?
HBase的性能优化有哪些方法?
70 0
|
9月前
|
存储 Java Shell
分布式数据库HBase的常用操作的基本Shell命令的表操作
HBase是一个分布式数据库系统,支持高性能、可伸缩、实时的数据存储和处理。在HBase中,我们可以使用Shell命令来进行常用的操作,如创建表、插入数据、查询数据、更新数据等。本文将介绍关于分布式数据库HBase的常用操作基本Shell命令的表操作。
136 0
|
12月前
|
存储 SQL 消息中间件
Kylin 在贝壳的性能挑战和 HBase 优化实践(2)
Kylin 在贝壳的性能挑战和 HBase 优化实践
Kylin 在贝壳的性能挑战和 HBase 优化实践(2)
|
12月前
|
SQL 分布式计算 监控
Kylin 在贝壳的性能挑战和 HBase 优化实践(1)
Kylin 在贝壳的性能挑战和 HBase 优化实践
Kylin 在贝壳的性能挑战和 HBase 优化实践(1)
|
分布式计算 Hadoop 分布式数据库
Hbase 安装方法
Hbase 安装方法
|
SQL 缓存 分布式计算
HBase查询一张表的数据条数的方法
HBase查询一张表的数据条数的方法
793 0
HBase查询一张表的数据条数的方法
|
存储 分布式计算 Hadoop
Hbase 数据迁移闭坑指南
Hbase 数据迁移闭坑指南
492 0
|
缓存 安全 Java
HBase 优化_3 | 学习笔记
快速学习 HBase 优化_3
132 0