Optim High Performance Unload 配置为大数据、、 或 目的地 Db2 Object Storage PostgreSQL
本章描述了大数据, Db2®, Object Storage 或 PostgreSQL 目标所需的配置文件和参数。
配置文件描述
Optim™ High Performance Unload 可与通过 LOADDEST 子句指定的大数据、 Db2、 Object Storage 或 PostgreSQL 目的地进行交互,以便将通过大数据提取的数据传输到这些目的地。 Optim High Performance Unload 提取的数据传输到这些目的地。 这些交互可以包括自动迁移数据或生成要在以后执行的数据传输命令。 在支持的大数据目标中,有 NoSQL 或 Hadoop 目标。 受支持的 Db2 目标是 Db2 标准目标,本地编目的远程数据库以及 Db2 Warehouse 目标。 在支持的 Object Storage 目的地中,有 IBM Cloud Object Storage 或Amazon EC2 或 Amazon S3 或 S3 兼容或Swift或 Microsoft Azure 或文件系统。
另一种交互方式是使用 Optim High Performance Unload 用于根据位于远程位置的数据文件创建 Db2 外部表: S3 兼容环境、 Microsoft Azure 环境或远程服务器。 Optim High Performance Unload 允许生成一个命令,用于随后创建这样的表:可通过 FORMAT EXTERNAL 子句指定数据文件要考虑的远程位置。 Optim High Performance Unload 还可以生成一个命令,用于将数据文件上传到指定位置:可通过 LOADDEST 子句指定该位置,支持 Amazon S3、 Microsoft Azure 和文件系统。
- 大数据环境,
- Db2 Warehouse 数据库,
- 标准 Db2 数据库和相应的 LOADDEST 子句包含别名的规范。
- 远程 Db2 数据库和相应的 LOADDEST 子句包含节点名或其 WITH STANDARD AUTH 选项的规范。
- Object Storage 环境,
- PostgreSQL 环境。
- 段名称,在方括号之间指定,用于标识关联的目标。 请注意,节名称值区分大小写。 节名称的可能值为:
- Db2: 这是要用于相对于标准 Db2 数据库的部分的值
- RemoteDB2: 这是要用于相对于本地编目的远程 Db2 数据库的部分的值
- Warehouse: 这是要用于相对于 Db2 Warehouse 环境的部分的值
- Cloudant: 这是要用于与对应于 Cloudant 数据库的 NoSQL 环境相关的部分的值
- CouchDB: 这是用于 环境中的 数据库的值 NoSQL CouchDB
- MongoDB: 这是用于 环境中的 数据库的值 NoSQL MongoDB
- HDFS: 这是要用于相对于对应于 HDFS 文件系统的 Hadoop 环境的部分的值
- Hive: 这是要用于相对于对应于 Hive 数据库的 Hadoop 环境的部分的值
- HBase: 这是要用于对应于 HBase 数据库的 Hadoop 环境的部分的值
- MapReduce: 这是用于 环境中定制 实用程序的部分值 Hadoop MapReduce
- IBM_COS:这是用于 IBM Cloud Object Storage 环境中的某部分的值
- AWS_EC2: 这是要用于与 Amazon EC2 环境相关的部分的值
- AWS_S3: 这是用于 或 兼容环境的值。 Amazon S3 S3
- Swift: 这是要用于与 Swift 环境相关的部分的值
- Azure: 这是要用于相对于 Microsoft Azure 环境的部分的值
- FileSystem: 这是用于文件系统环境相关部分的值
- PostgreSQL: 这是用于 环境中的部分值 PostgreSQL
- 参数列表,其中一些参数是必需参数,每个参数都使用类型为 name=value的模式指定。
在不指定 LOADDEST 子句或使用 S3 或 AZURE 选项指定 FORMAT EXTERNAL 子句的情况下创建和填充此类文件是无用的。 但是,对于通过 LOADDEST 子句指定的给定目标,当必须生成关联的数据传输命令时,必须在 db2hpu.dest 文件中存在与此目标对应的部分。 而对于通过带有 S3 或 AZURE 选项的 FORMAT EXTERNAL 子句指定的给定目标,当必须生成关联的外部表创建命令时,必须在 db2hpu.dest 文件中存在与此目标对应的部分。
标准 Db2 目的地的特定参数
- 别名
- 这是必需的。 其值区分大小写。 此参数是允许确定其关联部分是要考虑的部分的条件,相对于在其中指定了此别名的控制文件中的 LOADDEST 子句。
- 数据库名称
- 它是可选的。 它允许指定要用于 Db2 Load 的数据库名称。 如果未指定此参数,那么将改为使用通过 CONNECT 选项指定到 GLOBAL 块中的数据库名称。
- 实例
- 它是迁移方案中的必需项,而是可选项。 使用此参数可指定 Db2 实例的名称。 在迁移方案中,这是目标 Db2 实例的名称。 如果它是在卸载方案中设置的,那么它允许启用数据重新分区。 如果未在同一 db2hpu.dest 部分中设置 ‘host’ 或 ‘file’ 参数,那么将考虑与当前机器上的此 Db2 实例名称相关联的 db2nodes.cfg 文件。 如果设置了 ‘host’ 或 ‘file’ 参数,那么将以不同方式确定要考虑的 Db2 节点配置文件。
- 主机
- 它是可选的。 如果设置了 ‘instance’ 参数,请使用此参数指定定义要考虑的 Db2 节点的文件所在的机器的名称。 如果未设置 ‘file’ 参数,那么所考虑的文件是此机器上的 db2nodes.cfg 文件,该文件与名称设置为 ‘instance’ 参数的 Db2 实例相关联。 如果设置了 ‘file’ 参数,那么其值是在此机器上考虑的文件。 迁移数据时,将通过调用 Db2 Load API 来执行迁移数据装入的机器集。 如果未设置 ‘instance’ 参数,请使用此参数来指定要生成文件的机器。
- 主机窗口
- 它是可选的。 如果迁移数据,那么它将无济于事。 其值可以是 yes 或 no。 缺省情况下,如果未设置此参数,那么值是对应于源机器类型的值。 此参数允许指定生成 Db2 Load 命令的机器的类型。 如果是 Unix ,该参数的值必须设置为no。 如果是 Windows ,那么参数值必须设置为 yes。 如果在控制文件中指定了 WORKING IN 子句,并且也指定了此参数,那么必须相应地设置它们的值。 如果生成 Db2 Load命令的机器是 Unix ,则必须在WORKING IN子句中指定 Unix 路径,并且该参数值必须设置为no。 如果生成 Db2 Load命令的机器是Windows系统,则必须使用Windows路径指定WORKING IN子句,并且该参数值必须设置为yes。 如果 ‘host’ 参数未设置或设置为当前机器,那么设置此参数无用。
- 文件
- 使用此参数可指定包含 Db2 节点定义的文件名。 可以使用 ‘host’ 参数设置此文件所在的机器。 您可以直接指定目标 Db2 实例的 db2nodes.cfg 文件,也可以指定他选择的任何文件,前提是其内容对 Db2 节点文件有效。 例如,如果定义目标数据库分区的 mynodes.cfg 文件位于 /tmp 目录中,请使用以下命令 :file=/tmp/mynodes.cfg
- 重编
- 此参数允许在数据重新分区机制上运行。 使用时,重新分区功能依赖于调用在覆盖下调用的相应 Db2 API。 调用的确切 API 取决于所涉及的分区映射的大小。 有两种可能的方法可用于执行数据重新分区:
- 可以禁用数据重新分区步骤来处理其数据。 这种功能在数据迁移中非常有用,因为出于某些原因,使用 Optim High Performance Unload 不适合。
- 对于数据重新分区步骤所考虑的目标环境中涉及的分区映射大小,可以强制使用相应的 Db2 API。 在源环境和目标环境之间的分区映射大小不同的数据迁移案例中,此功能很有用。
- no: 允许在相关任务中禁用重新分区处理。 执行到 DPF 环境的自动迁移时,缺省情况下,从源环境读取的数据将通过多个流分发。 这些流是根据目标环境拓扑创建的,并由在目标环境的覆盖下启动的 Db2 Load 实用程序使用。 将 ‘repart’ 参数设置为 "no" 将禁用重新分区步骤: 因此,将通过唯一流迁移数据,并在 Db2 装入实用程序级别执行数据重新分区。
- pmap_4k: 它允许指定要考虑用于重新分区步骤的分区映射的大小为 4K。 因此,将根据 4K 分区映射的使用情况使用数据散列 Db2 API 来执行此步骤。
- pmap_32k: 它允许指定要考虑用于重新分区步骤的分区映射的大小为 32K。 因此,将根据 32K 分区映射的使用情况使用数据散列 Db2 API 来执行此步骤。 仅当相关的 Db2 级别至少为 V9.7时,才能使用此值。
- 异常部件
- 使用此参数来定义要从目标数据库分区布局中排除的数据库分区号。 生成目标输出文件时,您可能希望从 db2nodes.cfg 文件中定义的数据库分区号中排除某些数据库分区号。
- 租户
- 当用户想要使用 Optim High Performance Unload 用于数据迁移或生成 Db2 Load命令时,需要指定目标 Db2 环境。 如果未指定此参数,则默认考虑的租户为名为 SYSTEM 的租户。
特定于 Db2 远程目标的参数
- 数据库名称
- 如果在控制文件中的 LOADDEST 子句中指定了认证方法,那么这是必需方法。 相反,它是无用的。 它允许指定要用于 Db2 Load 的数据库名称。
- 主机
- 它是可选的。 卸载数据时,它允许创建要在为其指定的机器上生成的文件。 迁移数据时,它允许通过调用 Db2 Load API 来指定要在其上执行迁移数据装入的机器的名称。
- 主机窗口
- 它是可选的。 如果迁移数据,那么它将无济于事。 其值可以是 yes 或 no。 缺省情况下,如果未设置此参数,那么值是对应于源机器类型的值。 此参数允许指定生成 Db2 Load 命令的机器的类型。 如果是 Unix ,该参数的值必须设置为no。 如果是 Windows ,那么参数值必须设置为 yes。 如果在控制文件中指定了 WORKING IN 子句,并且也指定了此参数,那么必须相应地设置它们的值。 如果生成 Db2 Load命令的机器是 Unix ,则必须在WORKING IN子句中指定 Unix 路径,并且该参数值必须设置为no。 如果生成 Db2 Load命令的机器是Windows系统,则必须使用Windows路径指定WORKING IN子句,并且该参数值必须设置为yes。 如果 ‘host’ 参数未设置或设置为当前机器,那么设置此参数无用。
- 节点
- 它是可选的。 必须使用远程 Db2 节点名进行设置。 其值区分大小写。 对于迁移任务,必须设置该任务,并且该任务用于获取关联的凭证。 在这种情况下,其值必须与凭证文件中创建的远程类型部分的名称匹配。 对于 Db2 Load 命令生成,如果在控制文件中的 LOADDEST 子句中指定了节点名,那么也必须设置该节点名。 在这种情况下,此参数是允许确定其关联部分是要考虑的部分的条件。
特定于 Db2 Warehouse 目标的参数
- 别名
- 它是可选的。 其值区分大小写。 如果在控制文件中的 LOADDEST 子句中指定了别名,那么必须设置此参数。 在这种情况下,此参数是允许确定其关联部分是要考虑的部分的条件。 对于迁移任务,如果在 LOADDEST 子句中指定了标准认证方法,那么也必须设置该方法。 在这种情况下,其值必须与在凭证文件中为所考虑的目标类型创建的节的名称匹配。
- 宾路径
- 它是可选的。 如果迁移调用 Db2 Load API 的数据,那么这无济于事。 它允许指定在构建上载命令时使用的目录,方法是将该目录添加到上载工具的名称中,以避免在尝试执行有效上载时查找该目录时出现任何问题。 它必须是有效的绝对路径。
- 卷曲
- 它是可选的。 其值可以是 yes 或 no。 缺省情况下,如果未设置此参数,那么值为 no。 当 ‘curl’ 参数设置为 no 或 unspecified 时,数据装入将基于 CLPPlus 工具 (用于上载命令生成) 或 Db2 Load API (用于自动迁移)。 否则,当 ‘curl’ 参数设置为yes时,用于生成上传命令或自动迁移的工具为 cURL,。
- url
- 这是必需的。 它允许指定相关 Db2 Warehouse 服务器的 URL。
- 端口
- 仅当未指定 ‘curl’ 参数或将其设置为 no 时,它才是必需参数。 它允许指定相关 Db2 Warehouse 服务器的端口号。
- 数据库名称
- 仅当未指定 ‘curl’ 参数或将其设置为 no 时,它才是必需参数。 它允许指定要用于上载的数据库名称。
- 主机
- 它是可选的。 卸载数据时,它允许创建要在为其指定的机器上生成的文件。 使用 cURL 工具进行迁移时,将通过生成并执行上载命令来执行迁移的数据装入。 在不使用 cURL 工具进行迁移时,将通过调用 Db2 Load API 来执行迁移的数据装入。 此参数允许指定要在其上执行迁移数据装入的机器的名称。
- 主机窗口
- 它是可选的。 如果迁移调用 Db2 Load API 的数据,那么这无济于事。 其值可以是 yes 或 no。 缺省情况下,如果未设置此参数,那么值是对应于源机器类型的值。 此参数允许指定生成或执行数据装入命令的机器的类型。 如果是 Unix ,该参数的值必须设置为no。 如果是 Windows ,那么参数值必须设置为 yes。 如果在控制文件中指定了 WORKING IN 子句,并且也指定了此参数,那么必须相应地设置它们的值。 如果数据加载机是 Unix ,则必须在WORKING IN子句中指定 Unix 路径,并且该参数值必须设置为no。 如果数据装入机器是 Windows 的,那么必须使用 Windows 路径指定 WORKING IN 子句,并且必须将此参数值设置为 yes。 如果 ‘host’ 参数未设置或设置为当前机器,那么设置此参数无用。 如果设置了 ‘binpath’ 参数,并且也指定了此参数,那么必须相应地设置这些参数的值: ‘binpath’ 参数值必须设置为对数据装入机器类型有效的绝对路径。
- ssl
- 它是可选的。 其值可以是 yes 或 no。 缺省情况下,如果未设置此参数,那么其值为 no。 仅当考虑将 Db2 Load API 用于自动迁移时,才会将其考虑在内。 在考虑使用 Db2 Load API进行自动迁移时,将此参数设置为“yes”可建立 SSL 连接,而非标准连接。 设置为“port”参数的端口号必须是 SSL 的端口号。
使用 CLPPlus 工具或 Db2 Load API 时,为了获取要配置的 URL ,端口和 dbname 值,必须登录到相关的 Db2 Warehouse Web 控制台。 在 Web 控制台上,必须选择 "连接" 菜单项,然后选择 "连接信息" 菜单项。 搜索到的信息可在“不使用 SSL 的连接”选项卡或“使用 SSL 的连接”选项卡中找到,分别对应“主机名”、“端口号”和“数据库名”字段。
大数据和 Object Storage 目标的参数
- 别名
- 它是可选的。 其值区分大小写。 如果在 LOADDEST 子句中指定了别名,或者在控制文件中指定了带有 S3 或 AZURE 选项的 FORMAT EXTERNAL 子句,那么必须设置此参数。 在这些情况下,此参数是允许确定其关联部分是要考虑的部分的条件。 对于朝向 NoSQL 或 Swift 目标的迁移任务,如果在 LOADDEST 子句中指定了标准认证方法,那么也必须设置该方法。 对于迁移到 IBM Cloud Object Storage、 Amazon S3 或 S3 兼容目的地的任务,如果迁移是基于 cURL 工具的使用,则必须进行设置。 对于迁移到 Azure 目的地的任务,如果迁移不基于 cURL 工具使用,则也必须进行设置。 在这些迁移案例中,其值必须与凭据文件中为所考虑的目标类型创建的节点的名称相匹配。
- 宾路径
- 它是可选的。 它允许指定在构建上载命令时使用的目录,方法是将该目录添加到上载工具的名称中,以避免在尝试执行有效上载时查找该目录时出现任何问题。 它必须是有效的绝对路径。
- 主机
- 它是可选的。 卸载数据时,它允许创建要在为其指定的机器上生成的文件。 迁移数据时,它允许指定要在其上生成和执行用于数据迁移的上载命令的机器的名称。
- 主机窗口
- 它是可选的。 其值可以是 yes 或 no。 缺省情况下,如果未设置此参数,那么值是对应于源机器类型的值。 此参数允许指定生成或执行上载命令的机器的类型。 如果是 Unix ,该参数的值必须设置为no。 如果是 Windows ,那么参数值必须设置为 yes。 如果在控制文件中指定了 WORKING IN 子句,并且也指定了此参数,那么必须相应地设置它们的值。 如果上传机器是 Unix ,则必须在WORKING IN子句中指定 Unix 路径,并且该参数值必须设置为no。 如果上载机器是 Windows 机器,那么必须使用 Windows 路径指定 WORKING IN 子句,并且此参数值必须设置为 yes。 如果 ‘host’ 参数未设置或设置为当前机器,那么设置此参数无用。 如果设置了 ‘binpath’ 参数,并且也指定了此参数,那么必须相应地设置这些参数的值: 必须使用对上载机器类型有效的绝对路径来设置 ‘binpath’ 参数值。
特定于 NoSQL 目标的参数
- url
这是必需的。 它允许指定相关 NoSQL 目标的 URL。 如果需要,还可以使用以下模式在 URL 后添加端口号: <url>:<port>。
- 数据库名称
- 对于 Cloudant 和 MongoDB 目标,它是必需的,对于其他目标,它不是必需的。 它允许指定要用于上载的 JSON 文档的数据库名称。
- COLLECTIONNAME
- 它只能用于 MongoDB 目标,对于该目标是必需的目标。 它允许指定要用于上载的 JSON 文档的集合名称。
特定于 Hadoop 目标的参数
- Hdfspath
- 它可以与任何目标关键字一起使用,并且是必需的。 它必须用于指定关联的 HDFS 文件系统上的位置。 对于 HDFS 目标关键字,此位置对应于必须复制包含所抽取数据的文件的最终位置。 对于其他关键字,它对应于包含所抽取数据的文件的临时位置,以便针对此副本执行后续上载命令。 在执行复制步骤之前,指定的位置必须存在,否则执行此步骤时, HDFS 文件系统将返回错误。 此外,此位置必须对应于绝对 HDFS 路径, HDFS 路径强制为类似于 UNIX 的路径。
- Pig
- 它只能与 HBASE 目标关键字一起使用,并且是可选的。 其值可以是 yes 或 no。 缺省情况下,如果未设置此参数,那么值为 no。 为了将数据上载到 HBase 目标,可以使用两个工具 (hadoop 或 pig)。 MapReduce 当 pig 参数设置为“否”或未指定时,使用的工具是 hadoop ,同时使用一个随 Optim High Performance Unload ,并命名为 ““HBaseMapReduce.jar”。 否则,当 pig 参数设置为 yes 时,使用的工具为 猪。
- url
- 它只能与 HIVE 目标关键字一起使用,在这种情况下它是必需的。 它必须用于指示对应于 Hive 数据库的 JDBC URL。 此处指定的 URL 必须严格对应于已在运行的 URL。 根据是否指定了关联的认证方法,此 URL 的规范所期望的模式会有所不同:
- 无认证:
jdbc:hive2://<hivehost>:<port>/<db> - 使用 Kerberos 认证:
jdbc:hive2://<hivehost>:<port>/<db>;principal=<Hive_Principal>
涉及 Kerberos 认证时,需要考虑并指定两个不同的 Kerberos 主体:- 要用于上载命令之前的初步认证步骤 (必须通过其 user 参数在 db2hpu.dest 配置文件中指定) ,
- JDBC URL 规范末尾的 URL ,对应于 Hive 管理员。
- 无认证:
- 命令
- 它只能与 MAPREDUCE 关键字一起使用,在这种情况下它是必需的。 它允许根据自己的 MapReduce 程序的用法以及要传递给它的可选命令行参数来指定部分命令行。 然后,此字符串规范用于生成有效的上载命令。
IBM Cloud Object Storage 目的地的特定参数
- 卷曲
- 它是可选的。 其值可以是 yes 或 no。 缺省情况下,如果未设置此参数,那么值为 no。 当 'curl' 参数设置为no或unspecified时,根据 'ibmcloud' 参数的值,生成上传命令或自动迁移时,可用的工具可以是 IBM Cloud CLI或 AWS CLI。 否则,当 'curl' 参数设置为yes时,用于生成上传命令或自动迁移的工具为 cURL,。
- IBM云
- 它是可选的。 其值可以是 yes 或 no。 默认情况下,如果未设置此参数,则值为“是”。 当 'ibmcloud' 参数设置为是或未指定时,所考虑的工具是 IBM Cloud CLI,用于生成上传命令或自动迁移。 否则,当 'ibmcloud' 参数设置为no时,生成上传命令或自动迁移时使用的工具为 AWS CLI。
- 存储区
- 这是必需的。 它允许指定相关 IBM Cloud Object Storage 存储桶的名称。
- 相对路径
- 它是可选的。 它允许指定上传文件时 Optim High Performance Unload 生成的文件将被上传到的相对路径。
- 文件大小
- 它是可选的。 它允许指定生成的输出文件的文件大小限制。 此参数必须设置为单位为兆字节的数字值。 它的值必须在4到10485760( 10TB )之间,后者是 IBM Cloud Object Storage 对象大小的限制。 如果已通过 ulimit 命令设置文件大小限制,那么此参数值必须小于设置的限制。 如果在控制文件中指定了 FILEMAXSIZE 子句,那么对其指定的值必须小于此参数值。
- accesskey
- 仅当 'curl' 参数设置为 yes 时,它才是必需的参数,而是无用的参数。 它允许指定用户帐户的访问密钥。
- 版本
- 如果 'curl' 参数设置为 yes ,那么它是可选的,而是无用的。 它与签名版本相对应,用于将数据上传到 IBM Cloud Object Storage 存储桶。 其值可以是 2 或 4。 缺省情况下,如果未设置此参数,那么值为 4。 指定签名版本2时,使用的底层散列算法为 SHA-1。 在签名版本4中, SHA-256 算法用于散列。
- 加密
- 如果 'curl' 参数设置为yes,或者 'ibmcloud' 参数设置为no,则该选项为可选。 它对应于 IBM Cloud Object Storage 服务器端加密(SSE)。 当 'curl' 参数设置为yes时,它只与签名版本4(参见 'version' 参数)一致。 其价值只能是 AES256 ,且区分大小写。
- 区域
- 仅当 'curl' 参数设置为 yes 并且 'version' 参数未指定或设置为 4 时,它才是必需参数。 它允许指定相关的存储区区域名称。
- 概要文件
- 如果 'curl' 参数未指定或设置为no,且 'ibmcloud' 参数设置为no,则该选项为可选。 它允许指定一个与 AWS CLI凭证相对应的已命名配置文件。
- url
- 如果 'curl' 参数设置为是,则必须填写。 如果 'ibmcloud' 参数设置为否,则这是一个可选参数。 如果 'ibmcloud' 参数未指定或设置为yes,则无效。 它允许指定 IBM Cloud Object Storage 相关目标的公共端点URL。
- 如果使用的工具是 IBM Cloud CLI,且配置了IAM身份验证,则必须在执行前对工具进行适当配置 Optim High Performance Unload。
- 如果使用的工具是配置了 HMAC 身份验证的 cURL 或 IBM Cloud CLI,或者 AWS CLI,则身份验证依赖于两个参数,即与所考虑的 IBM Cloud Object Storage 账户关联的访问密钥和秘密密钥。 在 Optim High Performance Unload 启动时,根据 cURL 工具生成 IBM Cloud Object Storage 目标的上传命令,这些键必须进行配置。 访问密钥必须通过 'accesskey' 参数在 db2hpu.dest 配置文件中设置。 密钥必须存储在证书文件的适当部分。 如果需要考虑的工具不是 cURL, ,则必须先将这些密钥存储到该工具中,然后才能执行由 Optim High Performance Unload ,由用户执行上传命令。 如果需要考虑的工具是 IBM Cloud CLI,则可以通过执行“ibmcloud auth config hmac”命令来执行此步骤,如下所示:
如果需要考虑的工具是 AWS CLI,则可以通过执行“aws configure”命令来执行此步骤,如下所示:ibmcloud cos config hmac Access key ()> USER_ACCESS_KEY Secret key ()> USER_SECRET_KEY OK Successfully saved HMAC Credentials to file.aws configure AWS Access Key ID [None]: USER_ACCESS_KEY AWS Secret Access Key [None]: USER_SECRET_KEY Default region name [None]: BUCKET_REGION_NAME Default output format [None]:
- 不支持为 Windows 平台生成此类上载命令。
- 如果签名版本为 4 ,那么将执行上载命令的机器必须已安装 openssl 命令并可通过 PATH 环境变量进行访问。
- 如果签名版本为 2 ,那么将执行上载命令的机器必须已安装 openssl 和 base64 命令并可通过 PATH 环境变量进行访问。
特定于 Amazon EC2 目标的参数
- 用户
- 这是必需的。 它允许指定相关 Amazon EC2 实例的用户。
- url
- 这是必需的。 它允许指定相关 Amazon EC2 实例的公共 URL。
- 专用密钥
- 这是必需的。 它允许指定与相关 Amazon EC2 实例的密钥对相关联的专用密钥的路径。 专用密钥文件格式应为 pem 。 必须在 Amazon EC2 实例上正确配置公用密钥。 如果将执行上载的机器是 Windows 机器,那么设置为此参数的值必须是有效的 Windows 路径。
- 路径
- 它是可选的。 它允许指定上传由 Optim High Performance Unload 的文件将被上传。注意 :如果省略此参数,则 Optim High Performance Unload 会将生成的文件上传到通过 'user' 参数指定的用户的主目录中
- 伊斯维
- 它是可选的。 其值可以是 yes 或 no。 缺省情况下,如果未设置此参数,那么值为 no。 它允许指定 Amazon EC2 实例是否为 Windows 实例。 如果此参数设置为 yes ,并且也设置了 'path' 参数,那么将对 'path' 参数的规范执行控制,以验证设置为它的值是否对应于有效的 Windows 路径。
在考虑 Amazon EC2 目标时,由于使用了专用密钥文件,因此没有认证注意事项。
Amazon S3 或 S3 兼容目的地的特定参数
- 卷曲
- 它是可选的。 其值可以是 yes 或 no。 缺省情况下,如果未设置此参数,那么值为 no。 当 'curl' 参数设置为 no 或 unspecified 时,所考虑的工具是用于上载命令生成或自动迁移的 AWS CLI。 否则,当“curl”参数设置为“是”时,用于生成上传命令或自动迁移的工具为 cURL,。
- 存储区
- 这是必需的。 它允许指定相关存储桶的名称。
- 相对路径
- 它是可选的。 它允许指定上传文件时 Optim High Performance Unload 生成的文件将被上传到的相对路径。
- 文件大小
- 它是可选的。 它允许指定生成的输出文件的文件大小限制。 此参数必须设置为单位为兆字节的数字值。 其值必须介于 4 和 5242880 (5TB) 之间,后者是 Amazon S3 对象大小的上限。 如果已通过 ulimit 命令设置文件大小限制,那么此参数值必须小于设置的限制。 如果在控制文件中指定了 FILEMAXSIZE 子句,那么对其指定的值必须小于此参数值。
- accesskey
- 仅当 'curl' 参数设置为 yes 时,它才是必需的参数,而是无用的参数。 它允许指定用户帐户的访问密钥。
- 版本
- 如果 'curl' 参数设置为 yes ,那么它是可选的,而是无用的。 它对应于签名版本,用于将数据上传到存储桶。 其值可以是 2 或 4。 缺省情况下,如果未设置此参数,那么值为 4。 指定签名版本2时,使用的底层散列算法为 SHA-1。 在签名版本4中, SHA-256 算法用于散列。注: 根据所考虑的存储区的创建日期,不一定支持签名版本 2。 关于 Amazon S3 的更多信息,请参阅其官方文档。
- 加密
- 这是一个可选的选项,与服务器端加密(SSE)相对应。 当 'curl' 参数设置为 yes 时,它仅与签名版本 4 一致 (请参阅 'version' 参数)。 其值可以是 AES256 或 aws: kms ,并且区分大小写。
- 区域
- 仅当 'curl' 参数设置为 yes 并且 'version' 参数未指定或设置为 4 时,它才是必需参数。 它允许指定相关的存储区区域名称。
- 概要文件
- 如果 'curl' 参数未指定或设置为 no ,那么它是可选参数,而是无用的。 它允许指定一个与 AWS CLI凭证相对应的已命名配置文件。
- url
- 它是可选的。 如果目的地是 S3 兼容的,而不是亚马逊的,则必须明确说明。 它允许指定 S3 兼容目标的公共URL。
aws configure
AWS Access Key ID [None]: USER_ACCESS_KEY
AWS Secret Access Key [None]: USER_SECRET_KEY
Default region name [None]: BUCKET_REGION_NAME
Default output format [None]:
- 当您想使用 cURL 工具将数据上传到 Amazon S3 或 S3 兼容目的地时,需要遵循以下规则或要求:
- 不支持为 Windows 平台生成此类上载命令。
- 如果签名版本为 4 ,那么将执行上载命令的机器必须已安装 openssl 命令并可通过 PATH 环境变量进行访问。
- 如果签名版本为 2 ,那么将执行上载命令的机器必须已安装 openssl 和 base64 命令并可通过 PATH 环境变量进行访问。
- 当用户想要基于 S3 兼容对象存储上的文件生成外部表创建命令时,仅考虑以下参数: 'bucket'、 'accesskey' 和 'region'。
特定于 Swift 目标的参数
- 版本
- 它是可选的。 它对应于要使用的认证版本。 可能的值为 1 , 2 和 3。 如果未设置此参数, Optim High Performance Unload 将尝试获取“ST_AUTH_VERSION”环境变量的值。 如果未设置此环境变量,那么缺省情况下将使用认证版本 3。注: 认证版本 1 对应于 Swift TempAuth 机制,认证版本 2 和 3 对应于 Swift Keystone 认证机制。
- url
- 它是可选的。 它允许指定 Swift 服务器 URL。 必须根据所选认证版本指定此 URL。 根据认证版本的不同,模式如下所示:
- 版本 1: http://<url>:<port>/auth/v1.0
- 版本 2: http://<url>:<port>/v2.0
- 版本 3: http://<url>:<port>/v3
- 容器
- 这是必需的。 它对应于 Optim High Performance Unload 输出文件将被上传的容器。
- 项目
- 它是可选的。 只能对认证版本 2 和 3 指定此参数,但它是无用的。 此参数值的性质取决于 ‘project_id’ 参数的设置。 如果 ‘project_id’ 参数未设置或设置为 no ,那么其性质为名称。 如果 ‘project_id’ 参数设置为 yes ,那么其性质为标识。 根据认证版本,该参数具有不同的含义:
- 对于 V 2 ,它对应于 swift 租户名称或 swift 租户标识 (取决于 ‘project_id’ 参数设置)。
- 对于 V 3 ,它对应于 swift 项目名称或 swift 项目标识 (取决于 ‘project_id’ 参数设置)。
- 项目标识
- 它是可选的。 其值可以是 yes 或 no。 只能对认证版本 2 和 3 指定此参数,但它是无用的。 如果设置为 yes ,那么 ‘project’ 参数的性质必须是租户标识或项目标识 (取决于认证版本是 2 还是 3)。 如果未设置或设置为 no ,那么 "project" 参数的性质必须是租户名称或项目名称 (取决于认证版本是否为 2 或 3)。
- 用户域
- 它是可选的。 只能对认证版本 3 指定此参数。 此参数值的性质取决于 ‘user_domain_id’ 参数的设置。 如果 ‘user_domain_id’ 参数未设置或设置为 no ,那么其性质为名称。 如果 ‘user_domain_id’ 参数设置为 yes ,那么其性质为标识。 它对应于用户域名或用户域标识 (取决于 ‘user_domain_id’ 参数设置)。
- 用户域名
- 它是可选的。 其值可以是 yes 或 no。 只能对认证版本 3 指定此参数。 如果设置为 yes ,那么 ‘user_domain’ 参数的性质必须是用户域标识。 如果未设置或设置为 no ,那么 ‘user_domain’ 参数的性质必须是用户域名。
- 项目域
- 它是可选的。 只能对认证版本 3 指定此参数。 此参数值的性质取决于 ‘project_domain_id’ 参数的设置。 如果 ‘project_domain_id’ 参数未设置或设置为 no ,那么其性质为名称。 如果 ‘project_domain_id’ 参数设置为 yes ,那么其性质为标识。 它对应于项目域名或项目域标识 (取决于 ‘user_domain_id’ 参数设置)。
- 项目域名
- 它是可选的。 其值可以是 yes 或 no。 只能对认证版本 3 指定此参数。 如果设置为 yes ,那么 ‘project_domain’ 参数的性质必须是项目域标识。 如果未将其设置或设置为 no ,那么 ‘project_domain’ 参数的性质必须是项目域名。
- 域
- 它是可选的。 只能对认证版本 3 指定此参数。 它对应于项目,用户和组的高级容器。 如果未设置此参数,且未设置 ‘domain_id’ 参数或将其设置为no,则 Optim High Performance Unload 将尝试获取“OS_DOMAIN_NAME”环境变量的值。
- 域标识
- 它是可选的。 其值可以是 yes 或 no。 只能对认证版本 3 指定此参数。 如果设置为 yes ,那么 ‘domain’ 参数的性质必须是域标识。 如果未设置或设置为 no ,那么 ‘domain’ 参数的性质必须是域名。
- 区域
- 它是可选的。 只能对认证版本 2 和 3 指定此参数,但它是无用的。 它对应于存储对象的区域。 如果未设置此参数,则 Optim High Performance Unload 将尝试获取“OS_REGION_NAME”环境变量的值。
- User_id
- 它是可选的。 其值可以是 yes 或 no。 只能对认证版本 3 指定此参数。 如果设置为 yes ,那么 ‘user’ 参数的性质必须是用户标识。 如果未设置或设置为 no ,那么 "user" 参数的性质必须是用户名。
- 文件大小
- 它是可选的。 它允许指定生成的输出文件的文件大小限制。 缺省情况下,应用于 Swift 目标的文件的大小限制为 5GB。 此参数必须设置为单位为兆字节的数字值。 其值必须介于 4 与 5120 (5GB) 之间,后者是 Swift 对象大小的上限。 如果已通过 ulimit 命令设置文件大小限制,那么此参数值必须小于设置的限制。 如果在控制文件中指定了 FILEMAXSIZE 子句,那么对其指定的值必须小于此参数值。
- 分段大小
- 它是可选的。 其值必须设置为数字值,最大值为 5368709120 (5GB)。 它允许自动将要上载的文件在其上载处理期间拆分为所需大小的段,并将文件段上载到容器。
特定于 Microsoft Azure 目标的参数
- 卷曲
- 它是可选的。 其值可以是 yes 或 no。 缺省情况下,如果未设置此参数,那么值为 no。 当 'curl' 参数设置为 no 或未指定时,所考虑的工具是用于上载命令生成或自动迁移的 Azure CLI。 否则,当 'curl' 参数设置为yes时,用于生成上传命令或自动迁移的工具为 cURL,。
- 账户
- 这是必需的。 它允许指定要使用的 Azure 帐户名称。
- 萨斯托肯
- 当 'curl' 参数设置为 yes 时,它是必需的,而是无用的。 它允许指定 Azure 共享访问签名 (SAS)。
- blob
- 它是可选的。 其值可以是 yes 或 no。 缺省情况下,此值为 yes。 它允许指定将文件上载到 Azure 对象存储器时要考虑的 Azure 对象类型。 当其值设置为 yes 时,该文件将作为 blob 对象类型上载到 Azure 容器。 当其值设置为 no 时,该文件将作为文件对象类型上载到 Azure 文件共享。
- 容器
- 如果输出格式不是 EXTERNAL ,并且未指定 'blob' 参数或将其设置为 yes ,那么这是必需参数。 生成外部表创建命令时,这是必需的命令。 相反,它是无用的。 它对应于将上载文件的容器。
- 沙重命名
- 当 'blob' 参数设置为 no 时,它是必需的,而是无用的。 它对应于将上载文件的文件共享名称。
- 相对路径
- 它是可选的。 它允许指定将上载文件的相对路径。
- 账户密钥,可存储在凭据文件的相应部分。 账户密钥可在 Microsoft Azure 门户的存储账户中找到。 在 Security + networking 下,可以选择访问键,然后选择 Show 来显示访问键,并从中复制一个键。
- 或者可以通过 'sastoken' 参数指定的 Azure SAS 令牌。 必须为相应的 Azure 资源和服务生成足够的许可权。 有多种方法可生成 SAS 令牌。 为了获取有关它们的更多详细信息,请参阅官方 Microsoft Azure 文档。
特定于文件系统环境的参数
- 用户
- 它是可选的。 它允许指定在执行数据复制时要考虑向其认证的目标机器的用户。 缺省情况下,所考虑的用户是执行用户。
- url
- 这是必需的。 它允许指定将在其中复制数据的目标服务器名称。
- 路径
- 它是可选的。 它允许指定上传由 Optim High Performance Unload 的文件将被上传。注意 :如果省略此参数,则 Optim High Performance Unload 会将生成的文件上传到目标服务器上用于身份验证的用户的主目录中。
- 伊斯维
- 它是可选的。 其值可以是 yes 或 no。 缺省情况下,如果未设置此参数,那么值为 no。 它允许指定 'url' 参数中指定的目标服务器是否为 Windows 服务器。 如果此参数设置为 yes ,并且也设置了 'path' 参数,那么将对 'path' 参数的规范执行控制,以验证设置为它的值是否对应于有效的 Windows 路径。
- 专用密钥
- 它是可选的。 它允许为要在目标服务器上进行认证的用户指定与密钥对关联的专用密钥的路径。 专用密钥文件格式应为 pem 。 如果将执行上载的机器是 Windows 机器,那么设置为此参数的值必须是有效的 Windows 路径。 必须在目标服务器上为考虑在目标服务器上进行认证的用户相应地配置公用密钥。
特定于 PostgreSQL 目标的参数
- 别名
- 它是可选的。 其值区分大小写。 如果在控制文件中的 LOADDEST 子句中指定了别名,那么必须设置此参数。 在这种情况下,此参数是允许确定其关联部分是要考虑的部分的条件。 对于迁移任务,必须设置此参数。 在这种情况下,其值必须与在凭证文件中为所考虑的目标类型创建的节的名称匹配。
- 宾路径
- 它是可选的。 它允许指定在构建上载命令时使用的目录,方法是将该目录添加到 psql 工具的名称中,以避免在尝试执行有效上载时查找该目录时出现任何问题。 它必须是有效的绝对路径。
- 数据库名称
- 这是必需的。 它允许指定要用于上载的数据库名称。
- 主机
- 它是可选的。 卸载数据时,它允许创建要在为其指定的机器上生成的文件。 迁移数据时,它允许指定要在其上生成和执行用于数据迁移的上载命令的机器的名称。
- 主机窗口
- 它是可选的。 其值可以是 yes 或 no。 缺省情况下,如果未设置此参数,那么值是对应于源机器类型的值。 此参数允许指定生成或执行上载命令的机器的类型。 如果是 Unix ,该参数的值必须设置为no。 如果是 Windows ,那么参数值必须设置为 yes。 如果在控制文件中指定了 WORKING IN 子句,并且也指定了此参数,那么必须相应地设置它们的值。 如果上传机器是 Unix ,则必须在WORKING IN子句中指定 Unix 路径,并且该参数值必须设置为no。 如果上载机器是 Windows 机器,那么必须使用 Windows 路径指定 WORKING IN 子句,并且此参数值必须设置为 yes。 如果 'host' 参数未设置或设置为当前机器,那么设置此参数无用。 如果设置了 'binpath' 参数,并且也指定了此参数,那么必须相应地设置这些参数的值: 必须使用对上载机器类型有效的绝对路径来设置 'binpath' 参数值。
- 端口
- 它是可选的。 它允许指定相关 PostgreSQL 服务器的端口号。 如果未指定,那么将采用缺省端口号 5432。
- url
- 这是必需的。 它允许指定相关 PostgreSQL 服务器的 URL。
认证参数-标准认证方法
- 用户
- 它允许指定要考虑的用户。 此用户必须具有执行期望的数据传输命令的相应许可权,并在生成此命令时予以考虑:
- 对于标准卸载,与标准 Db2 或远程 Db2 目标兼容,并伴随 Db2 Load 命令生成: 此参数是可选的。 如果关联的 LOADDEST 子句包含其 WITH STANDARD AUTH 选项的规范,那么它将用于在 Db2 Load 命令本身之前生成的初步连接步骤。
- 对于标准卸载,与大数据, Db2 Warehouse 或 PostgreSQL 目标兼容,并伴随上载命令生成,带有包含其 WITH STANDARD AUTH 选项规范的关联 LOADDEST 子句: 此参数是必需的。 使用为密码的模糊提示创建的初步步骤生成上载命令。 执行所讨论的命令时,必须先输入密码,然后再执行有效的上载命令,同时考虑到所输入的密码。
- 对于自动迁移: 此参数是必需的。 底层数据传输处理必须在内部依赖于密码的使用。 将从与执行自动迁移的用户关联的凭证文件中读取此密码。 必须事先将其存储到此文件中,创建相应类型的凭证部分: 必须分别考虑本地,远程,仓库, cloudant , couchdb , mongodb , swift 和 postgresql 类型,具体取决于所选目标是否为标准 Db2 类型,远程 Db2 类型, Db2 Warehouse 类型, Cloudant 类型, CouchDB 类型, MongoDB 类型, 一个或一个 PostgreSQL 。 如果目标是标准 Db2 目标,远程 Db2 目标或 Db2 Warehouse 目标,那么指定的用户必须与在所考虑的凭证部分中设置的 user 参数相同。
- 对于 swift 目标: 有几条规则适用于此参数。 它是可选的。 在大多数情况下,必须使用用户名设置此参数。 但是,如果 ‘user_id’ 参数设置为 yes ,并且选择的认证版本为 3 ,那么必须使用用户标识设置此参数。 如果未设置此参数, Optim High Performance Unload 将根据所选的身份验证版本尝试获取环境变量的值。 如果选择的认证版本为 1 ,那么考虑的环境变量为 "ST_USER"。 如果选择的认证版本为 2 ,或者如果选择的认证版本为 3 并且 ‘user_id’ 参数未设置为 yes ,那么考虑的环境变量为 "OS_USERNAME"。 如果选择的认证版本为 3 并且 ‘user_id’ 参数设置为 yes ,那么考虑的环境变量为 "OS_USER_ID"。注: 在 Swift 环境中,可以通过环境变量 "ST_KEY" 设置与用户关联的密码, "ST_KEY" 设置为认证版本 1 , "OS_PASSWORD" 设置为认证版本 2 或 3。 但是,在 Optim High Performance Unload 进行自动迁移时。 此类密码必须存储在 Optim High Performance Unload 证书文件中。
认证参数- Kerberos 认证方法
- 用户
- 它允许指定要考虑的 Kerberos 主体。 此 Kerberos 主体必须具有相应的许可权才能执行期望的数据传输命令。 通过添加此主体获取 Kerberos 凭单的初步步骤,在生成数据传输命令时将考虑此问题。 此步骤基于 kinit 命令,该命令是 Kerberos 客户机的一部分。 必须先安装它,然后才能尝试获取凭单。 获取此类凭单还依赖于密码的使用。 处理此密码的方式取决于执行的任务:
- 如果执行的任务是伴随数据传输命令生成的标准卸载任务,那么还可以配置关联的 keytab 参数。 如果已配置,那么将生成获取 Kerberos 凭单的初步步骤,以便直接引用已配置的密钥表文件。 如果未配置,那么将生成初步步骤,以便在执行时提示输入密码。
- 如果执行的任务是自动迁移任务,那么必须配置关联的 keytab 参数。
- 密钥表
- 它允许指定密钥表文件的绝对路径,其中要考虑的主体必须预先存储其密码。