从 Amazon S3 上的文件装入数据

可以将数据从先前上载到 Amazon S3 上的数据文件装入云数据库。数据文件不能大于主目录中可用空间量的 80%。

要将数据从本地数据文件装入到云数据库,请完成以下步骤:

创建数据文件

为了能够装入数据,必须将数据保存在定界文件中,例如,以逗号分隔 (CSV) 的文件。

要创建定界格式文件,请使用数据库实用程序将数据从数据存储器或 DBMS 抽取到文件。每个数据文件都必须仅包含一个表中的数据。

提示: 如果要创建多个数据文件,并且要将文件自动映射到数据库中的目标表,请使用 schema.table 格式的文件名。例如,如果您创建名为 FRUIT.GRAPES.gz 的文件,那么在稍后的装入过程中,该文件将自动映射到数据库中 FRUIT 模式的 GRAPES 表。
DBMS 详细信息 了解更多信息
Oracle 通过使用 Oracle Application Express® 之类的实用程序,从 Oracle 卸载数据。 有关卸载过程的 Oracle 文档: Using Oracle Application Express Utilities
MySQL 使用 MySQL Workbench 或 phpMyAdmin 之类的实用程序从 MySQL 导出数据。 有关导出过程的 MySQL 文档:Data export
DB2® 使用命令行实用程序从 Db2 导出数据。 有关导出过程的 Db2 文档:导出数据

将文件移至 Amazon S3

要将数据文件移至 Amazon S3,请使用 S3 浏览器(可从 http://s3browser.com/download.phphttps://s3browser.com/buypro.php 下载)。必须在 S3 浏览器中创建一个存储区,用于存放该文件。可以将多个文件或一个文件夹从文件系统移至 Amazon S3。您有大量数据时,可以利用 Amazon S3 所提供的寄送数据选项,并允许 Amazon 将数据装入到 Amazon S3 中。

了解更多信息:

Amazon S3 文档:Get Started With Amazon Simple Storage Service

DataStage 与 Amazon S3 配合使用

您还可以使用 IBM® InfoSphere® DataStage® 从数据库抽取数据并将其移至 Amazon S3 之类的平台。DataStage Designer 客户机有一个选用板,其中包含构成数据管理作业的基本构建块的工具。

DataStage 并行进程

利用 DataStage,您可以设计和运行包括源数据对象和目标数据对象的作业。源数据对象与数据库相关联,并指定要抽取的表名称和元数据。目标数据对象与 Amazon S3 相关联,并指定要包含目标数据的数据文件的名称和位置。

了解更多信息:

DataStage 文档:设计 DataStage 和 QualityStage® 作业

创建目标表

在将数据装入到数据库之前,必须为该数据创建目标表。目标表定义必须与数据文件中数据的结构和数据类型匹配。

可以使用下列其中一种方法来创建目标表:
  • Db2® 根据包含数据的定界文本文件生成用于创建表的 SQL DDL 语句。
  • 编写自己的 SQL DDL 语句以创建表。如果您不使用特定的应用程序来创建 DDL 语句,那么可以使用 IBM InfoSphere Data Architect。有关更多信息,请参阅 InfoSphere Data Architect Knowledge Center 中的生成 DDL 脚本

从 Amazon S3 装入数据

要从 Amazon S3 装入数据,请选择以下其中一种方法:
  • 从 Web 控制台中,选择装入 > Amazon S3。要使用 Web 控制台从 Amazon S3 装入数据,请选择 Amazon S3 作为源。如果要装入分段文件,请在选择要装入的文件时选择关联的清单文件。
  • 直接从外部表装入。以下是 SQL 语句示例:
    INSERT INTO <table-name> SELECT * FROM EXTERNAL '<mys3file.txt>' USING
      (CCSID 1208 s3('s3.amazonaws.com', 
      '<S3-access-key-ID>',
      '<S3-secret-access-key>', 
      '<my_bucket>'
         )
      )
  • 为提高性能,还可以使用 Db2LOAD 命令从 Amazon S3 装入数据,如以下命令示例所示:
    CALL SYSPROC.ADMIN_CMD('LOAD FROM "S3::<amazon-s3-URL>::<s3-access-key-id>::<s3-secret-access-key>:
    :<s3-bucket-name>::<path-to-data-file>" OF <filetype> <additional-load-options> INTO <table-name>)
    以下是 Db2LOAD 命令的用法示例:
    CALL SYSPROC.ADMIN_CMD('load from "S3::s3-us-west-2.amazonaws.com::<s3-access-key-id>:
    :<s3-secret-access-key>::ibm-state-store::bdidata2TB/web_site.dat" of DEL modified by codepage=1208 
    coldel0x7c WARNINGCOUNT 1000 MESSAGES ON SERVER INSERT into BDINSIGHTS2.web_site ');

    要了解支持的命令选项,请参阅:LOAD 命令