帮助文档 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
帮助文档 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 表格存储
  4. 实践教程
  5. 数据同步迁移
  6. 数据导入
  7. 同步HBase数据

同步HBase数据

  • 数据导入
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

通过DataX工具,您可以将HBase数据库中的全量数据同步到表格存储(Tablestore)的数据表中。

注意事项

使用DataX工具只支持同步HBase全量数据到表格存储,不支持同步增量数据。

前提条件

  • 已准备带有Linux系统的服务器并完成如下软件的安装。

    说明

    如果当前没有带有Linux系统的服务器,推荐您使用云服务器ECS部署Linux系统后再进行操作。更多信息,请参见通过控制台使用ECS实例(快捷版)。

    • 已完成Java 8(64-bit)开发环境的安装。

    • 已完成Python2或者Python3开发环境的安装。

  • 在访问控制RAM服务侧完成如下操作:

    • 已创建RAM用户并为RAM用户授予管理表格存储权限(AliyunOTSFullAccess)。具体操作,请参见创建RAM用户和为RAM用户授权。

      警告

      阿里云账号AccessKey泄露会威胁您所有资源的安全。建议您使用RAM用户AccessKey进行操作,可以有效降低AccessKey泄露的风险。

      已为RAM用户创建AccessKey。具体操作,请参见创建AccessKey。

  • 在表格存储服务侧已完成如下操作:

    • 已创建表格存储实例。具体操作,请参见创建实例。

    • 已在实例详情页面获取实例的服务地址(Endpoint)。

      在概览页面,单击实例名称后,在实例详情页签的实例访问地址区域,即可查看实例的Endpoint,请根据实际情况选择。

      image

    • 已创建表格存储数据表,用于存放迁移数据。具体操作,请参见创建数据表。

      说明

      创建数据表时建议使用HBase原主键或唯一索引作为表格存储数据表的主键。

步骤一:下载DataX

您可以选择下载DataX的源代码进行本地编译或者直接下载编译好的压缩包。

  • 下载DataX的源代码并编译。

    1. 通过Git工具执行以下命令下载DataX源代码。

      git clone https://github.com/alibaba/DataX.git
    2. 进入到下载的源代码目录后,执行以下命令进行Maven打包。

      说明

      此步骤会在本地编译各种数据源的Writer和Reader,花费时间较长,请耐心等待。

      mvn -U clean package assembly:assembly -Dmaven.test.skip=true

      编译完成后,进入target/datax/datax目录,其中的目录说明请参见下表。

      目录

      说明

      bin

      存放可执行的datax.py文件,是整个DataX工具的入口。

      plugin

      存放支持各种类型数据源的Reader和Writer。

      conf

      存放core.json文件,该文件中定义了一些缺省参数值,例如channel流控、buffer大小等参数,一般无需修改。

  • 直接下载Data工具包。

步骤二:准备全量导出的JSON文件

DataX提供了HbaseReader插件从HBase中读取数据。在底层实现上,HbaseReader通过HBase的Java客户端连接远程HBase服务,并通过Scan方式读取指定rowkey范围内的数据,然后将读取的数据使用DataX自定义的数据类型拼装为抽象的数据集,并传递给下游Writer处理。

您可以根据HBase版本选择相应的Reader插件导出JSON文件。

说明

DataX仅提供HBase0.94、HBase1.1以及HBase2.0的导出插件,如需导出其他版本的HBase数据,请参考HBase API实现导出工具。

  • Hbase0.94 XReader

  • Hbase1.1 XReader

  • Hbase2.0 XReader:Hbase2.0 XReader插件从Phoenix读取数据。

配置样例

以下示例使用Hbase1.1 XReader配置一个从HBase抽取数据到本地的作业(normal 模式)。详细的配置项说明,请参见Hbase11XReader插件文档。

{
    "job": {
        "setting": {
            "speed": {
                "channel": 1
            }
        },
        "content": [
            {
                "reader": {
                    "name": "hbase11xreader",
                    "parameter": {
                        "hbaseConfig": {
                            "hbase.zookeeper.quorum": "xxxf"
                        },
                        "table": "users",
                        "encoding": "utf-8",
                        "mode": "normal",
                        "column": [
                            {
                                "name": "rowkey",
                                "type": "string"
                            },
                            {
                                "name": "info: age",
                                "type": "string"
                            },
                            {
                                "name": "info: birthday",
                                "type": "date",
                                "format":"yyyy-MM-dd"
                            },
                            {
                                "name": "info: company",
                                "type": "string"
                            },
                            {
                                "name": "address: contry",
                                "type": "string"
                            },
                            {
                                "name": "address: province",
                                "type": "string"
                            },
                            {
                                "name": "address: city",
                                "type": "string"
                            }
                        ],
                        "range": {
                            "startRowkey": "",
                            "endRowkey": "",
                            "isBinaryRowkey": true
                        }
                    }
                },
                "writer": {
                    "name": "txtfilewriter",
                    "parameter": {
                        "path": "/Users/shf/workplace/datax_test/hbase11xreader/result",
                        "fileName": "qiran",
                        "writeMode": "truncate"
                    }
                }
            }
        ]
    }
}

步骤三:执行同步命令

执行如下命令同步数据。

python datax.py  -j"-Xms4g -Xmx4g" hbase_to_ots.json

其中-j"-Xms4g -Xmx4g"可以限制占用JVM内存的大小;如果不指定,将会使用conf/core.json中的配置,默认为1 GB。

相关操作

HBase数据迁移到表格存储后,您可以使用Tablestore SDK或者Tablestore HBase Client读取表格存储的数据,具体操作,请参见从HBase Client迁移到Tablestore HBase Client。

相关文章

同步MySQL数据 2025-04-22 14:37

您可以根据业务需求使用DataX、DTS、canal或者Tapdata Cloud工具将MySQL数据库中的数据同步迁移到表格存储(Tablestore)中。 使用场景

使用DataX同步MySQL数据 2025-04-22 14:37

本文介绍如何使用 DataX 工具将 MySQL 数据库中的数据同步到表格存储(Tablestore)。 背景信息 DataX 是阿里云的离线数据同步工具,它通过 JDBC 连接 MySQL 数据库,

使用Canal同步MySQL数据 2025-04-22 14:37

本文介绍如何使用Canal将MySQL数据库(自建MySQL或RDS MySQL)中的数据同步到表格存储(Tablestore)。您可以通过Canal实现MySQL增量数据的实时同步,也可以将MySQL的全量数据同步到表格存储。 背景信息 Canal是阿里的开源项目,主要用途是基于 MySQL 数据

使用DTS同步MySQL数据 2025-04-22 14:37

通过数据传输服务DTS(Data Transmission Service),您可以将MySQL数据库(例如本地自建的MySQL或RDS MySQL)同步至Tablestore实例,轻松实现数据的流转。

使用Tapdata Cloud导入MySQL数据 2025-04-22 14:37

通过Tapdata Cloud的可视化界面,您可以将自建MySQL、阿里云RDS MySQL、第三方云数据库的数据实时同步到表格存储。 前提条件 使用Tapdata Cloud同步MySQL数据到表格存储前,需要

同步Kafka数据 2025-04-22 14:37

基于Tablestore Sink Connector,您可以将Apache Kafka中的数据批量导入到表格存储(Tablestore)的数据表或者时序表中。 背景信息

目录
Copyright © 2025 your company All Rights Reserved. Powered by 博智数字服务平台.
闽ICP备08105208号-1