step-by-step通过数据集成同步数据到HBase

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
简介:

数据集成是阿里集团对外提供的稳定高效、弹性伸缩的数据同步平台。本文将介绍如何使用数据集成将数据同步到HBase。我们以如下场景为例:线上有两个云HBase集群,想把其中一个集群的数据同步到另一个集群中。

HBase列表.png
源表.png

第一步 创建数据集成项目

在使用数据集成同步数据之前,我们需要先在MaxCompute产品首页购买资源并创建一个项目。后续的数据同步任务就是放在这个项目下面执行的。具体步骤参见购买并创建项目
购买的资源不必和HBase在同一地区。如果已经创建过项目,可以忽略这一步。

第二步 准备调度资源

出于安全方面的考虑,目前HBase导入数据只支持本地模式,所以需要用户先申请ECS并将ESC添加到数据同步的资源组用于执行同步任务。

2.1 申请ECS

在HBase所在Region的任意Zone购买一台ECS,然后设置HBase的白名单。
注意:
(1)ECS要能够访问到HBase,在我们的例子中,两个HBase集群都是经典网络,所以我们购买一台经典网络的ECS,然后设置HBase的白名单即可。如果HBase是vpc网络,可参考HBase访问准备
(2)如果HBase和ECS是专有网络的话,ECS需要绑定公网IP,因为公网 IP 对于数据集成的汇报心跳非常重要。在创建时可以选择分配公网IP,也可以创建后绑定弹性公网 IP

2.2 新增调度资源

1、项目管理员进入进入 大数据开发套件-调度资源列表,点击 新增调度资源,填写新增的调度资源名称,如下图所示:

新增调度资源.png
2、添加调度资源后,在弹窗界面内点击新建调度资源操作栏中的 服务器管理,进入服务器添加页面,将购买的 ECS 云服务器添加到资源组,如下图所示:
管理服务器1.png
3、点击增加服务器;
管理服务器.png
网络类型:选择经典网络;
服务器名称:获取方式:登录 ECS,执行 hostname 命令,取返回值;
机器 IP:输入专有网络 IP。
4、在调度资源管理页面,点击“服务器初始化”,然后按照弹出的提示在ECS上进行操作。
初始化服务器.png
执行完安装命令后,可以看到服务器状态已显示为“正常”。

第三步 创建数据同步任务

HBase目前不支持向导模式,所以需要创建脚本模式任务并修改脚本中的插件配置。

3.1 创建脚本模式任务

1、以开发者身份进入 阿里云数加平台>大数据开发套件>管理控制台,点击“项目列表”下对应项目操作栏中的 进入工作区 ;
2、点击顶部菜单栏中的 数据集成 中左侧导航栏的 同步任务 ;
3、点击界面中的 “脚本模式”;

脚本模式.png
4、在弹出的“导入模板”中选择自己需要的“来源类型”和“目标类型”,如下图所示:
导入模版.png
云HBase的版本是1.1,所以目标类型选择“HBase11x”,我们的例子中,源也是云HBase,所以源类型也选择“HBase11x”。
5、点确定后,会按照模版生成默认的配置,先保存。
默认配置.png

3.2 修改插件配置

reader需要改如下几个地方:
(1)column和table按照我们实际情况修改。
(2)我们同步全量数据,所以把range和maxversion删掉。
(3)hbaseconfig中,hbase.rootdir是不需要的,可以删掉。hbase.zookeeper.quorum可以在HBase实例的管理控制台查看。

zk地址.png
writer需要修改如下几个地方:
(1)rowkeyColumn。在我们的例子中,源表的rowkey导入过来直接做rowkey,所以把rowkeyColumn里面默认生成的:
{
            "index": -1,
            "type": "string",
            "value": "_"
         }
AI 代码解读

删掉。
(2)column和table按照实际情况修改。注意在运行同步任务前要确保已经建好目标表和列族。
(3)versionColumn在我们的例子里不需要,删掉。
(4)hbaseConfig和源插件类似,把hbase.rootdir删掉,hbase.zookeeper.quorum改成目标HBase的zk地址。
其他选项也可以根据实际情况修改。例如,可以修改speed里面的选项增加并行度。具体可参考HbaseReader 配置HbaseWriter 配置以及脚本模式的配置

我们的例子中,最终的插件配置如下:

{
  "configuration": {
    "reader": {
      "plugin": "hbase11x",
      "parameter": {
        "mode": "normal",
        "scanCacheSize": "256",
        "scanBatchSize": "100",
        "column": [
          {
            "name": "rowkey",
            "type": "string"
          },
          {
            "name": "cf:a",
            "type": "string"
          }
        ],
        "encoding": "UTF-8",
        "table": "test",
        "hbaseConfig": {
          "hbase.zookeeper.quorum": "hb-2ze5mewh34cfy7960-001.hbase.rds.aliyuncs.com:2181,hb-2ze5mewh34cfy7960-002.hbase.rds.aliyuncs.com:2181,hb-2ze5mewh34cfy7960-004.hbase.rds.aliyuncs.com:2181",
          "hbase.cluster.distributed": "true"
        }
      }
    },
    "writer": {
      "plugin": "hbase11x",
      "parameter": {
        "mode": "normal",
        "walFlag": "false",
        "rowkeyColumn": [
          {
            "index": 0,
            "type": "string"
          }
        ],
        "nullMode": "skip",
        "column": [
          {
            "name": "cf:a",
            "index": 1,
            "type": "string"
          }
        ],
        "encoding": "UTF-8",
        "table": "test",
        "hbaseConfig": {
          "hbase.zookeeper.quorum": "hb-2zel37texpqo9umcw-001.hbase.rds.aliyuncs.com:2181,hb-2zel37texpqo9umcw-002.hbase.rds.aliyuncs.com:2181,hb-2zel37texpqo9umcw-004.hbase.rds.aliyuncs.com:2181",
          "hbase.cluster.distributed": "true"
        }
      }
    },
    "setting": {
      "errorLimit": {
        "record": "0"
      },
      "speed": {
        "concurrent": "1",
        "mbps": "1"
      }
    }
  },
  "type": "job",
  "version": "1.0"
}
AI 代码解读

修改完成后,保存。点击“提交”。

提交任务.png
提交任务页面“一次性调度”选不了,如果我们不希望任务周期性运行的话,可以把时间改成当天。

第四步 运行任务

4.1 修改调度资源组

1、进入 大数据开发套件-运维中心-任务管理 页面,点击 列表;

任务列表.png
2、选择同步任务,点击 修改资源组;
修改资源组.png
3、选择我们在第二步创建的资源组,点击 确认。

4.2 运行任务

在任务管理页面,点击 操作-补数据。然后等待任务完成。

任务成功.png
任务执行成功,我们在目标HBase里面已经看到有数据了。


HBase技术交流社区 - 阿里官方“HBase生态+Spark社区大群”点击加入:https://dwz.cn/Fvqv066s

相关文章
【YashanDB知识库】使用DataX工具迁移yashan数据到maxcompute
本文介绍使用崖山适配的DataX工具进行数据库迁移的方法,包括单表迁移和批量表迁移。单表迁移需配置json文件并执行同步命令;批量迁移则通过脚本自动化生成json配置文件并完成数据迁移,最后提供数据比对功能验证迁移结果。具体步骤涵盖连接信息配置、表清单获取、json文件生成、数据迁移执行及日志记录,确保数据一致性。相关工具和脚本简化了复杂迁移过程,提升效率。
DataWorks数据集成同步至Hologres能力介绍
本文由DataWorks PD王喆分享,介绍DataWorks数据集成同步至Hologres的能力。DataWorks提供低成本、高效率的全场景数据同步方案,支持离线与实时同步。通过Serverless资源组,实现灵活付费与动态扩缩容,提升隔离性和安全性。文章还详细演示了MySQL和ClickHouse整库同步至Hologres的过程。
Airweave:快速集成应用数据打造AI知识库的开源平台,支持多源整合和自动同步数据
Airweave 是一个开源工具,能够将应用程序的数据同步到图数据库和向量数据库中,实现智能代理检索。它支持无代码集成、多租户支持和自动同步等功能。
314 14
SpringBoot 通过集成 Flink CDC 来实时追踪 MySql 数据变动
通过详细的步骤和示例代码,您可以在 SpringBoot 项目中成功集成 Flink CDC,并实时追踪 MySQL 数据库的变动。
1254 43
LossVal:一种集成于损失函数的高效数据价值评估方法
LossVal是一种创新的机器学习方法,通过在损失函数中引入实例级权重,直接在训练过程中评估数据点的重要性,避免了传统方法中反复重训练模型的高计算成本。该方法适用于回归和分类任务,利用最优传输距离优化权重,确保模型更多地从高质量数据中学习。实验表明,LossVal在噪声样本检测和高价值数据点移除等任务上表现优异,具有更低的时间复杂度和更稳定的性能。论文及代码已开源,为数据价值评估提供了高效的新途径。
155 13
LossVal:一种集成于损失函数的高效数据价值评估方法
DataWorks数据集成同步至Hologres能力介绍
本次分享的主题是DataWorks数据集成同步至Hologres能力,由计算平台的产品经理喆别(王喆)分享。介绍DataWorks将数据集成并同步到Hologres的能力。DataWorks数据集成是一款低成本、高效率、全场景覆盖的产品。当我们面向数据库级别,向Hologres进行同步时,能够实现简单且快速的同步设置。目前仅需配置一个任务,就能迅速地将一个数据库实例内的所有库表一并传输到Hologres中。
187 12
Spring AI 智能体通过 MCP 集成本地文件数据
MCP 作为一款开放协议,直接规范了应用程序如何向 LLM 提供上下文。MCP 就像是面向 AI 应用程序的 USB-C 端口,正如 USB-C 提供了一种将设备连接到各种外围设备和配件的标准化方式一样,MCP 提供了一个将 AI 模型连接到不同数据源和工具的标准化方法。
2914 74
【瓴羊数据荟】 Data x AI :大模型时代的数据治理创新实践 | 瓴羊数据Meet Up城市行第三期
第三期瓴羊数据Meetup 将于2025年1月3日在线上与大家见面,共同探讨AI时代的数据治理实践。
607 10
【瓴羊数据荟】 Data x  AI :大模型时代的数据治理创新实践 | 瓴羊数据Meet Up城市行第三期
如何使用 HBase Shell 进行数据的实时监控和备份?
如何使用 HBase Shell 进行数据的实时监控和备份?
139 5
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问