Nifi适配GaussDB验证任务心得

举报
yd_229853316 发表于 2024/11/22 14:42:51 2024/11/22
【摘要】 NSQ适配GaussDB 。Apache NiFi是一款开源的数据集成工具,由Apache软件基金会开发和维护。它以直观的用户界面、强大的数据处理能力和安全特性在大数据领域占据重要位置。

背景介绍

开源for Huawei(参考:https://developer.huaweicloud.com/programs/opensource/contributing/)  通过和公司、高校、社区的开发者合作,完成鲲鹏、昇腾、欧拉、鸿蒙、高斯、云服务等与开源软件的适配开发,帮助繁荣Huawei的基础生态,同时让开源软件能够更加简单、高效的运行于华为云上。

适配过程

  1. 购买 华为云鲲鹏EulerOS环境的ECS 搭建NIfi运行环境并启用
  2. 根据任务计划书DEMO设计,准备源端数据库环境以及源数据;
  3. 根据任务计划书DEMO设计,准备目标端数据库环境以及元数据(表结构);
  4. 根据任务计划书DEMO设计,使用Nifi搭建任务流,实现历史数据和增量数据的准实时同步。

适配准备

  1. 华为云鲲鹏EulerOS环境的ECS(华为云购买);
  2. Mysql数据库(华为云购买ECS后自建);
  3. GaussDB数据库(华为云购买)。

2.1 ECS/GaussDB配置

GaussDB:

  • 计费模式选择:按需计费
  • 区域:华北-北京四
  • CPU架构:鲲鹏计算
  • CPU规格:large.2
  • CPU规格:2vCPUs&&4GiB
  • 镜像类型:公共镜像
  • 镜像:openEuler 20.03 64bit with ARM100GiB

鲲鹏ECS:

  • 计费模式选择:按需计费
  • 区域:华北-北京四
  • CPU架构:x86计算
  • CPU规格:xlarge.4
  • CPU规格:4vCPUs&&16GiB
  • 镜像类型:公共镜像
  • 镜像:Huawei Cloud EulerOS 2.0 标准版 64 ARM

MySQL版本号:5.7.45

2.2 其它

ECS安全组配置 配置规则 → 出/入方向规则 → 一键放通常用端口

也可直接放通所有端口

3 Demo开发

  1. 准备源端Mysql数据库环境以及源数据--源端有数据。
  2. 准备目标端GaussDB数据库环境以及元数据(表结构)--目标端没有数据
  3. Nifi启动工作流 第一次抽取全量历史数据,可根据数据规模大小 合理设置调度时长。
  4. 全量历史数据抽取并入库完成后 调整 调度策略,定时抽取增量数据。
  5. 数据验证

4 适配过程中的问题记录

  • Mysql数据库需要开启 binlog 日志

         参考:https://www.php.cn/faq/829276.html

  • Nifi 组件 GenerateTableFetch 实现增量数据捕获方法

         在工作流当中创建GenerateTableFetch组件时候 定义maximum-value columns  的值,该值必须是在源表中存在的列 例如 :自增ID 。

    • 数据类型转换        

            Mysql的时间数据类型 timestamp  通过nifi 转换成avro格式后 变成了 Unix时间戳,可根据需要 在入库前 先转换回来再入库。

           screenshot-20241121-192937.png

    【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
    • 点赞
    • 收藏
    • 关注作者

    评论(0

    0/1000
    抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。