为满足多样化的数据导入需求,云原生数据仓库AnalyticDB MySQL版提供了多种数据导入方式,包括:通过外表导入数据、使用DataWorks导入数据和利用JDBC通过程序导入数据等。本文介绍各导入方式的特性及适用场景,帮助您选择正确的数据导入方式。

通过外表导入数据

AnalyticDB MySQL内置不同数据源的访问链路,支持通过创建外表来映射外部数据源,并发地读取外部数据并导入到AnalyticDB MySQL。通过外表导入数据会最大限度地利用集群资源,实现高性能数据导入。

基本特性

  • 适合大批量数据:导入链路批量操作,适合单任务进行大量数据导入的场景。
  • 资源消耗大:利用集群资源进行高性能导入,建议在业务低峰期使用。
  • 批量可见:数据导入任务完成前数据不可见,任务完成后导入的数据批量可见。
  • 分区覆盖:通过外表导入的数据分区会覆盖表中已存在的同一分区。
  • 构建索引:通过外表导入会同步构建索引,导入任务完成则生成索引,可提升查询性能。

常见使用场景

  • 数仓初始化

    当存在TB级数据需要初始化导入到AnalyticDB MySQL进行分析,建议先将数据存放在OSS或者HDFS,再通过外表高效导入。

  • 离线数仓加速

    离线数据运行在MaxCompute等离线数仓上,单天数据增量达到几十GB甚至TB级,需要每天导入数据到AnalyticDB MySQL进行数据加速分析。

支持的外表数据源与使用方法

导入性能调优

如何提升外表数据的导入性能,请参见通用外表导入数据调优

通过DataWorks导入数据

DataWorks提供了可视化的数据导入方式,可以将多种数据源导入到AnalyticDB MySQL。相对于通过外表导入数据的方法,DataWorks导入数据更为轻量化,适合数据量相对较小的数据导入场景。
说明 不建议通过DataWorks导入大量数据。如果存在数百GB以上的数据导入,建议通过外表导入数据。详情请参见通过外表导入数据

常见使用场景

  • 分钟/小时级数据导入

    需要每分钟或每小时抽取少量数据到AnalyticDB MySQL进行数据分析。

  • 多种异构数据源导入

    需要导入OTS、Redis、PostgreSQL等多种数据源的数据到AnalyticDB MySQL

使用方法

通过DataWorks导入数据分为3个步骤。
  1. 配置源端数据源。支持的数据源包括:RDS MySQL、Oracle、SQL Server、OSS、MaxCompute及HDFS。
  2. 配置AnalyticDB MySQL 3.0数据源
  3. 配置同步任务中的数据来源和去向

导入性能调优

如何提升DataWorks导入数据的性能,请参见通过DataWorks导入数据调优

通过JDBC使用程序导入数据

在数据清洗或复杂非结构化数据场景下,当外表和DataWorks导入无法满足定制化导入需求时,可以编写程序通过JDBC导入数据。

常见使用场景

  • 数据预处理后导入

    业务端实时产生日志文件,需要对日志文件进行自动化解析并实时导入AnalyticDB MySQL

  • 非云上数据导入

    当数据无法上传到OSS、HDFS或者MaxCompute时,需要将本地数据导入AnalyticDB MySQL

使用方法与建议

导入性能调优

如何提升使用应用程序导入数据的性能,请参见通过JDBC使用程序导入数据调优