迁移数据到DWS
DWS提供了灵活的数据入库方式,可以将多种数据源的数据导入到DWS中,如图1所示。各导入方式具有不同的特点,如表1所示,用户可以根据其特点自行选择。建议用户配合云数据迁移(Cloud Data Migration,简称CDM)和数据治理中心(DataArts Studio)一起使用,CDM用于批量数据迁移,DataArts Studio可以对整个ETL过程进行编排调度,同时提供可视化的开发环境。

- CDM、OBS、MRS、DLI为云服务。
- GDS、gs_restore、gs_dump为内部工具。
数据导入方式 | 数据源 | 说明 | 优势 |
|---|---|---|---|
OBS | 支持将存储在OBS上的TXT、CSV、ORC及CARBONDATA格式的数据并行导入到DWS,支持导入后查询数据,也支持远程读OBS上的数据。 DWS优先推荐的导入方式。 | 并行拉取方式,性能好,横向扩展。 | |
Servers(即远端服务器) | 使用DWS提供的GDS工具,利用多DN并行的方式,将数据从远端服务器导入到DWS。这种方式导入效率高,适用于大批量数据入库。 | ||
MRS(HDFS) | 配置一个DWS集群连接到一个MRS集群,然后将数据从MRS的HDFS中读取到DWS。 | 并行拉取方式,性能好,横向扩展。 | |
- | 通过GDS进行数据中转,实现多个集群之间的数据同步。 | 适用于多套DWS集群之间的数据同步。 | |
MySQL、Oracle、BigQuery、Redshift等 | 支持使用开源Kettle工具配合dws-client插件完成数据入库。 | 适用于使用开源Kettle工具入库场景,数据入库速度在22000条/秒左右。 | |
本地文件 | 与直接使用SQL语句COPY不同,该命令读取/写入的文件只能是gsql客户端所在机器上的本地文件。 | 操作简单,适用于小批量数据入库。 | |
其他文件或数据库 | 使用Java语言开发应用程序时,通过调用JDBC驱动的CopyManager接口,从文件或其他数据库向DWS写入数据。 | 从其他数据库直接写入DWS的方式,具有业务数据无需落地成文件的优势。 | |
Kafka | 使用DLI Flink作业实现Kafka实时入库DWS。 | 适用Kafka实时入库。 | |
数据库、NoSQL、文件系统、大数据平台 | CDM提供同构/异构数据源之间批量数据迁移的功能,帮助用户实现从多种类型的数据源迁移数据到DWS。CDM在迁移数据到DWS时,采用的是COPY方式和GDS并行导入方式。 | 数据源丰富,操作简单。 | |
数据库、NoSQL、文件系统、大数据平台 | 请参考第三方ETL工具的相关文档。 DWS提供了DSC工具,可以将Teradata/Oracle脚本迁移到DWS。 | 通过OBS中转,数据源丰富,数据转换能力强。 | |
| gs_dump支持导出单个数据库或其内的对象,而gs_dumpall支持导出集群中所有数据库或各库的公共全局对象。 通过导入工具将导出的元数据信息导入至需要的数据库,可以完成数据库信息的迁移。 | 适用于元数据迁移。 | |
sql/tmp/tar文件格式 | 在数据库迁移场景下,支持使用gs_restore工具将事先使用gs_dump工具导出的文件格式,重新导入DWS集群,实现表定义、数据库对象定义等元数据的导入。导入数据主要包括以下内容:
|


