本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
目标元数据任务设置
目标元数据设置包括以下内容。有关如何使用任务配置文件来设置任务设置的信息,请参见任务设置示例。
-
TargetSchema
— 目标表架构名称。如果此元数据选项为空,则使用源表中的架构。如果未定义任何源架构,Amazon DMS 自动将目标数据库的所有者前缀添加到所有表。对于 MySQL 类型的目标终端节点,该选项应保留为空。 -
LOB 设置-决定如何管理大型对象 (LOB) 的设置。如果您设置
SupportLobs=true
,则必须将下列项之一设置为true
:-
FullLobMode
— 如果此设置此设置为true
,则必须为输入值LobChunkSize
选项。输入在将数据复制到目标时要使用的 LOB 数据块的大小 (以 KB 为单位)。FullLobMode
选项最适合非常大的 LOB 大小,但往往会导致加载速度较慢。的推荐值LobChunkSize
是 64 千字节。增加价值LobChunkSize
超过 64 KB 可能会导致任务失败。 -
InlineLobMaxSize
— 此值决定了哪些 LOBAmazon DMS满负荷时内联传输。传输小型 LOB 比从源表查找它们的效率更高。完全加载期间,Amazon DMS 将检查所有 LOB 并对小于InlineLobMaxSize
的 LOB 执行内联传输。Amazon DMS 将以FullLobMode
传输所有大于InlineLobMaxSize
的 LOB。的默认值InlineLobMaxSize
为 0,范围为 1 —102400 千字节 (100 MB)。仅当您知道大部分 LOB 小于InlineLobMaxSize
中指定的值时,为InlineLobMaxSize
设置值。 -
LimitedSizeLobMode
— 如果此设置此设置为true
,则必须为输入值LobMaxSize
选项。输入单个 LOB 的最大大小(以 KB 为单位)。的最大建议值LobMaxSize
是 102400 千字节 (100 MB)。
有关使用这些任务 LOB 设置的标准的更多信息,请参见在 Amazon DMS 任务中为源数据库设置 LOB 支持。您还可以控制各个表的 LOB 管理。有关更多信息,请参阅表格和集合设置规则和操作:
-
-
LoadMaxFileSize
— 基于 CSV 的目标终端节点(例如 MySQL、PostgreSQL 和 Amazon Redshift)的选项,支持使用逗号分隔值 (.csv) 文件加载数据。LoadMaxFileSize
定义磁盘上存储的、已卸载的数据(例如.csv 文件)的最大大小。此选项将覆盖目标端点连接属性,maxFileSize
。您可以提供介于 0 (指示该选项不会覆盖连接属性) 和 100000 KB 之间的值。 -
BatchApplyEnabled
— 确定是单独应用每笔交易还是分批提交更改。默认值为false
。什么时候
BatchApplyEnabled
设置为true
,DMS 上需要主密钥 (PK) 或唯一密钥 (UK)资源表。如果源表上没有 PK 或 UK,则只能应用批量插入,而不应用批量更新和删除。什么时候
BatchApplyEnabled
设置为true
,Amazon DMS如果出现以下情况,则生成错误消息目标table 具有唯一约束和主键。在以下情况下,不支持同时具有唯一约束和主键的目标表BatchApplyEnabled
设置为true
。什么时候
BatchApplyEnabled
设置为 true 并且Amazon DMS在使用默认错误处理策略的表中遇到数据错误Amazon DMS任务从批处理模式切换到 one-by-one 其余表格的模式。要更改此行为,可以设置"SUSPEND_TABLE"
在中对以下政策采取行动"ErrorBehavior"
任务设置 JSON 文件的组属性:-
DataErrorPolicy
-
ApplyErrorDeletePolicy
-
ApplyErrorInsertPolicy
-
ApplyErrorUpdatePolicy
有关此设置的更多信息
"ErrorBehavior"
组属性,请参阅中的任务设置 JSON 文件示例为以下各项指定任务设置Amazon数据库集群。将这些政策设置为"SUSPEND_TABLE"
,Amazon DMS然后,任务会暂停所有引发错误的表上的数据错误,并以批处理模式继续处理所有表。您可以使用
BatchApplyEnabled
带有BatchApplyPreserveTransaction
参数。如果BatchApplyEnabled
设置为true
,则BatchApplyPreserveTransaction
参数确定事务完整性。如果
BatchApplyPreserveTransaction
设置为true
,则保留事务完整性,并确保批处理包含源中的事务的所有更改。如果
BatchApplyPreserveTransaction
设置为false
,则会临时放弃事务完整性以提高性能。BatchApplyPreserveTransaction
参数仅适用于 Oracle 目标终端节点,并且仅在BatchApplyEnabled
参数设置为true
时相关。如果复制中包含 LOB 列,则只能在受限 LOB 模式下使用
BatchApplyEnabled
。有关使用这些设置进行更改数据捕获 (CDC) 加载的更多信息,请参阅更改处理优化设置。
-
-
MaxFullLoadSubTasks
— 表示要并行加载的最大表数。默认值为 8;最大值为 49。 -
ParallelLoadThreads
— 指定线程数Amazon DMS用于将每个表加载到目标数据库中。对于非 RDBMS 目标,此参数具有最大值。DynamoDB 目标的最大值为 200。亚马逊 Kinesis Data Streams、Apache Kafka 或亚马逊的最大值 OpenSearch 此设置仅适用于数据库集群。您可以要求提高此上限。ParallelLoadThreads
适用于满载任务。有关单个表的并行加载设置的信息,请参阅 表格和集合设置规则和操作。此设置适用于以下端点引擎类型:
DynamoDB
Amazon Kinesis Data Streams
Amazon MSK
亚马逊 OpenSearch 服务
Amazon Redshift
Amazon DMS支持
ParallelLoadThreads
对于 MySQL 作为额外的连接属性。ParallelLoadThreads
不适用于作为任务设置的 MySQL。 -
ParallelLoadBufferSize
指定要存储在缓冲区中的最大记录数,并行加载线程使用这些记录向目标加载数据。默认值为 50。最大值为 1,000。此设置目前仅在 DynamoDB、Kinesis、Apache Kafka 或 OpenSearch 是目标。将此参数与ParallelLoadThreads
一起使用。仅在有多个线程时ParallelLoadBufferSize
才有效。有关单个表的并行加载设置的信息,请参阅 表格和集合设置规则和操作。 -
ParallelLoadQueuesPerThread
— 指定每个并发线程访问的队列数,以便从队列中提取数据记录并为目标生成批量加载。默认值为 1。目前,此设置仅在 Kinesis 或 Apache Kafka 是目标时才有效。 -
ParallelApplyThreads
— 指定并发线程数Amazon DMS在 CDC 加载期间使用将数据记录推送到亚马逊 DocumentDB、Kinesis、Amazon MSK、 OpenSearch,或者亚马逊 Redshift 目标终端节点。默认设置为零 (0)。此设置仅适用于仅适用于数据库集群。此设置不适用于满载。
此设置适用于以下端点引擎类型:
Amazon DocumentDB (with MongoDB compatibility)
Amazon Kinesis Data Streams
Amazon Managed Streaming for Apache Kafka
亚马逊 OpenSearch 服务
Amazon Redshift
-
ParallelApplyBufferSize
— 指定每个缓冲队列中存储的最大记录数,以便并发线程推送到亚马逊 DocumentDB、Kinesis、Amazon MSK、 OpenSearch,或者在 CDC 加载期间的 Amazon Redshift 目标终端节点。默认值为 100。当ParallelApplyThreads
指定多个线程时,请使用此选项。 -
ParallelApplyQueuesPerThread
— 指定每个线程访问的队列数量,以便将数据记录从队列中提取出来,并为 Amazon DocumentDB、Kinesis、Amazon MSK 或生成批量加载 OpenSearchCDC 期间的终点。默认值为 1。