本文以Excel为例,介绍如何通过Kettle将本地Excel数据同步至AnalyticDB for MySQL。

背景信息

Kettle是一款非常受欢迎的开源ETL工具软件,主要用于数据整合、转换和迁移。Kettle不仅支持各类关系型数据库和NoSQL数据源(HBase、MongoDB),也支持Excel、Access类型的小型数据源。通过扩展插件,Kettle可以支持更多数据源。

更多Kettle信息,请参见Kettle

准备工作

  • 安装Kettle。
  • 在AnalyticDB for MySQL中创建目标数据库
  • 将安装了Kettle软件的设备IP添加到AnalyticDB for MySQL集群白名单中。
  • 如果您需要通过外网连接AnalyticDB for MySQL集群,请申请和释放公网地址

操作步骤

  1. 打开Kettle,在菜单栏单击文件 > 新建 > 转换,新建一个转换。
    打开kettle
  2. 在菜单栏单击文件 > 新建 > 数据库连接 在转换中新建一个数据库连接。
    参数 说明
    连接名称 为连接设置一个名字,便于后续管理。
    连接类型 选择MySQL
    连接方式 选择Native(JDBC)
    主机名称 AnalyticDB for MySQL集群的连接集群,通过控制台集群信息页面,查看连接信息。
    数据库名称 AnalyticDB for MySQL中的数据库名称。
    端口号 3306。
    用户名 AnalyticDB for MySQL集群中创建的账号:
    • 高权限账号。
    • 普通账号。
    密码 账号对应的密码。
    说明 配置参数时,不要勾选Use Result Streaming Cursor
    新建连接
  3. 完成上述参数配置后,单击测试弹出数据库连接测试提示框,根据提示判断是否连接至AnalyticDB for MySQL数据库,测试通过后单击确认
  4. 在Kettle左侧核心对象输入中,找到Excel输入,将其拖动入到工作区。
    excel输入
  5. 双击工作区的Excel输入,在Excel输入对话框中,单击浏览上传需要导入的Excel表格,然后单击增加将其添加到选中的文件中。

    根据实际业务需要设置工作表内容字段等选项卡,单击预览记录查看输入的数据是否符合要求。

    新建excel输入
  6. 在Kettle左侧核心对象输出中,找到表输出,将其拖动入到工作区。
    输出
  7. 新建一条Excel输入表输出的连接线。
    连接线
  8. 双击表输出,在表输出对话框中进行参数配置。
    • 目标模式:您需要手动输入AnalyticDB for MySQL数据库的名字。
    • 目标表:您需要手动输入AnalyticDB for MySQL数据库中的表名。
    • 勾选指定数据库字段
    • 勾选使用批量插入
    设置输出参数

    表输出数据库字段选项卡中,单击获取字段输入字段映射,可以设置Excel中的列与AnalyticDB for MySQL表中列名间的映射关系。

    设置字段映射
  9. 单击白色三角箭头运行转换,观察运行日志和运行状态。

    本地Excel数据成功同步至AnalyticDB for MySQL后,您就可以使用AnalyticDB for MySQL对行Excel数据进分析。