跳到主要内容
版本:3.x

采集 Excel 数据至 MySQL

Excel 是使用广泛的数据统计和数据分析软件,Tapdata Cloud 支持读取本地、FTP、SFTP、SMB 或 S3FS 上的 Excel 文件,满足多样化的数据流转需求。

本文介绍如何通过 Tapdata Cloud 的数据转换任务,将 Excel 文件数据同步至 MySQL,实现 Excel 数据的快速入库,用来对接更丰富的数据分析工具。

背景介绍

在我们的业务场景中,我们有一个名为 customer 的 Excel 文件,其中包含了关于客户的基本信息。我们希望将该 Excel 文件同步到 MySQL,满足不同业务需求或数据共享的要求,打通数据孤岛。演示数据如下(基于软件随机生成):

演示数据

准备工作

在创建数据转换任务前,请确保您已经配置好了相关数据源:

  1. 配置 Excel 连接
  2. 配置 MySQL 连接

操作步骤

  1. 登录 Tapdata Cloud 平台

  2. 在左侧导航栏,单击数据转换

  3. 单击页面右侧的创建

  4. 在页面左侧,将 Excel 和 MySQL 数据源拖拽至右侧画布中,然后将其连接起来。

  5. 单击 Excel 数据源,根据下述说明完成右侧面板的配置。

    1. 完成节点基础设置。

      Excel 数据源设置

      • 节点名称:默认为连接名称,您也可以设置一个具有业务意义的名称。
      • 模型名:任务节点选择的文件对应的模型名称,填写具有业务意义的名称。
      • 包含通配:默认为 *.xls,*.xlsx,即表示搜索所有 XLS/XLSX 格式的文件,目前仅支持通过 * 模糊匹配,不支持正则表达式。
      • 排除通配:默认为空,即不过滤任何 Excel 文件。
      • 目录递归:默认开启状态,即遍历子目录来查找 Excel 文件。
      • Excel 文件密码:如果 Excel 设置了密码保护,需要填写密码以解密。
      • Sheet 页范围:默认加载所有 Sheet 页,例如输入 1,3~5,8,表示 1、3、4、5 和 8 页。
      • 数据列范围:即数据包含那些列,例如输入 A~BA,表示 第 A 列到第 BA 列。
      • 表头:可配置某行作为表头,也可以自定义表头,通过英文逗号(,)分隔。
      • 表头行:指定作为表头的行,即列名所属的行,该值为 0 表示文件中没有表头行,如果此时表头为空,会自动按 Column1Column2...进行命名。
      • 正文起始行:指定作为正文起始的行,通常为表头行的下一行。
      • 全转换字符串:默认为开启状态,如果每列数据很规整,尤其为数字和时间格式,且不参杂一些字符串时,可关闭该功能。
      • 模型:单击加载模型,页面下方将展示源表的的结构和列名等信息,目前支持的数据类型为 STRINGTEXTDOUBLEBOOLEANDATE加载模型
    2. 完成节点高级设置。

      高级设置

      • DDL 同步配置
        选择是否启用 DDL 事件采集,打开该开关后,Tapdata 会自动采集所选的源端 DDL 事件(如新增字段),如果目标端支持 DDL 写入即可实现 DDL 语句的同步。
      • 数据过滤配置
        默认关闭,开启后您需要指定数据过滤条件。
      • 驱动读取配置 设置全量同步时,每批次读取的记录条数,默认为 100
    3. 完成节点告警设置。

      默认情况下,节点的平均处理耗时连续 1 分钟大于等于 5 秒,则发送系统通知和邮件通知,您也可以根据业务需求调整规则或关闭告警。

  6. 单击右侧的 MySQL 数据源,根据下述说明完成各标签页的设置。

    MySQL 节点设置

    • 基础设置
      • 节点名称:默认为连接名称,您也可以设置一个具有业务意义的名称。
      • :选择要写入的目标表,您也可以手动填写,如果该表不存在将自动创建。
      • 更新条件字段:选择更新条件的判断依据字段。
      • 重复处理策略:根据业务需求选择,默认为保持目标端原有表结构和数据
      • 每批次写入条数:全量同步时,每批次写入的条目数。
      • 每批写入最大等待时间:根据目标库的性能和网络延迟评估,设置最大等待时间,单位为毫秒。
      • 全量多线程写入:全量数据写入的并发线程数,默认为 8,可基于目标端写性能适当调整。
      • 增量多线程写入:增量数据写入的并发线程数,默认未启用,启用后可基于目标端写性能适当调整。
      • 模型:展示目标表的表结构信息,包含字段名称和字段类型。
    • 高级设置
      • 数据写入模式:根据业务需求选择。
        • 按事件类型处理:选择此项后,还需要选择插入、更新、删除事件的数据写入策略。
        • 统计追加写入:只处理插入事件,丢弃更新和删除事件。
      • 数据源专属配置:选择是否同步索引。
    • 告警设置 默认情况下,节点的平均处理耗时连续 1 分钟大于等于 5 秒,则发送系统通知和邮件通知,您也可以根据业务需求调整规则或关闭告警
  7. (可选)单击页面右上角的设置,配置任务属性。

    • 任务名称:填写具有业务意义的名称。
    • 同步类型:可选择全量+增量,也可单独选择全量增量。 全量表示将源端的存量数据复制到目标端,增量表示将源端实时产生的新数据或数据变更复制到目标端,二者结合可用于实时数据同步场景。
      提示

      在增量同步的过程中,Tapdata 默认每隔 1 分钟检测 Excel 文件是否发生变更(如新增/修改文件),如发生变更则将涉及的文件全量新增后更新条件字段以完成修改,暂不支持同步删除文件或数据。

    • 任务描述:填写任务的描述信息。
    • 高级设置:设置任务开始的时间、增量数据处理模式、处理器线程数、Agent 等。
  8. 确认无误后,单击启动

    操作完成后,您可以在当前页面观察任务的执行情况,如 QPS、延迟、任务时间统计等信息,示例如下:

    任务监控

结果验证

根据上述任务设置,Tapdata Cloud 会自动完成 Excel 数据的迁移,我们登录到目标数据库,查看同步过来的数据:

-- 查看记录数
SELECT COUNT(*) FROM customer_from_excel;
-- 查询结果
count(*)|
--------+
49998|

-- 随机查询一条数据
SELECT id,name,country FROM customer_from_excel LIMIT 1;
-- 查询结果
id |name |country|
--------------------------------+-----------+-------+
000329567a744f6497a843993fcc7a30|Christopher|Israel |

随后,我们在数据源中上传了一个结构相同的新表,里面写入了 5 条新数据,在 Tapdata Cloud 的任务监控页面查看增量同步的进度,同时也可以在目标数据库中查询数据条目数:

-- 查看记录数
SELECT COUNT(*) FROM customer_from_excel;
-- 查询结果
count(*)|
--------+
50003|