Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Validación de datos de destino de Amazon S3
AWS DMS admite la validación de datos replicados en los destinos de Amazon S3. Dado que AWS DMS almacena los datos replicados como archivos planos en Amazon S3, utilizamos las consultas de Amazon Athena CREATE TABLE AS SELECT
(CTAS) para validar los datos.
Las consultas de los datos almacenados en Amazon S3 son intensas desde el punto de vista computacional. Por lo tanto, AWS DMS ejecuta la validación de los datos de Amazon S3 durante la captura de datos de cambios (CDC) solo una vez al día, a medianoche (00:00) UTC. Cada validación diaria que AWS DMS ejecuta se denomina validación de intervalo. Durante una validación de intervalo, AWS DMS valida todos los registros de cambios que se migraron al bucket de Amazon S3 de destino durante las últimas 24 horas. Para obtener más información sobre las limitaciones de la validación de intervalo, consulte Limitaciones para utilizar la validación de destinos de S3.
La validación de destinos de Amazon S3 utiliza Amazon Athena, por lo que se aplican costos adicionales. Para obtener más información, consulte Precios de Amazon Athena
nota
La validación de destino de S3 requiere AWS DMS versión 3.5.0 o posterior.
Requisitos previos de validación de destino de S3
Antes de usar la validación de destino de S3, compruebe la siguiente configuración y permisos:
-
Establezca el valor
DataFormat
para S3Settings enparquet
. Para obtener más información, consulte Configuración de Parquet para S3. -
Asegúrese de que el rol asignado a la cuenta de usuario utilizada para crear la tarea de migración tenga el conjunto de permisos correcto. Consulte Permisos a continuación.
Para las tareas que utilizan la replicación continua (CDC), compruebe la siguiente configuración:
-
Active el registro complementario para tener registros completos de los datos de CDC. Para obtener información sobre cómo activar el registro complementario, consulte Soporte de diagnóstico y solución de problemas en la sección Agregar automáticamente registros suplementarios a un punto de conexión de origen de Oracle de esta guía.
-
Establezca el parámetro
TimestampColumnName
para el punto de conexión de destino. No hay limitaciones en cuanto al nombre de la columna de marca temporal. Para obtener más información, consulte S3Settings. -
Configure la partición de carpetas basada en fechas para el destino. Para obtener más información, consulte Uso de la partición de carpetas basada en fechas.
Permisos para usar la validación de destinos de S3
Para configurar el acceso para usar la validación de destino de S3, asegúrese de que el rol asignado a la cuenta de usuario que se usó para crear la tarea de migración tenga el siguiente conjunto de permisos. Sustituya los valores de ejemplo por sus valores.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "athena:StartQueryExecution", "athena:GetQueryExecution", "athena:CreateWorkGroup" ], "Resource": "arn:aws:athena:
<endpoint_region_code>
:<account_id>
:workgroup/dms_validation_workgroup_for_task_*" }, { "Effect": "Allow", "Action": [ "glue:CreateDatabase", "glue:DeleteDatabase", "glue:GetDatabase", "glue:GetTables", "glue:CreateTable", "glue:DeleteTable", "glue:GetTable" ], "Resource": [ "arn:aws:glue:<endpoint_region_code>
:<account_id>
:catalog", "arn:aws:glue:<endpoint_region_code>
:<account_id>
:database/aws_dms_s3_validation_*", "arn:aws:glue:<endpoint_region_code>
:<account_id>
:table/aws_dms_s3_validation_*/*", "arn:aws:glue:<endpoint_region_code>
:<account_id>
:userDefinedFunction/aws_dms_s3_validation_*/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucketMultipartUploads", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::<bucket_name>
", "arn:aws:s3:::<bucket_name>
/*" ] } ] }
Limitaciones para utilizar la validación de destinos de S3
Consulte las siguientes limitaciones adicionales que se aplican al utilizar la validación de destinos de S3. Para conocer las limitaciones que se aplican a todas las validaciones, consulte Limitaciones.
-
El valor
DatePartitionSequence
necesita un componente de día. La validación de destinos de S3 no admite el formatoYYYYMM
. -
Cuando la validación de intervalo se ejecuta durante CDC, es posible que vea errores de validación falsos en la tabla
awsdms_validation_failures_v1
. Estos errores se producen porque AWS DMS migra los cambios que llegaron durante la validación de intervalo a la carpeta de particiones del día siguiente. Normalmente, estos cambios se escriben en la carpeta de particiones del día actual. Estos errores falsos son una limitación a la hora de validar la replicación desde una base de datos de origen dinámica a un destino estático, como Amazon S3. Para investigar estos errores falsos, compruebe si hay registros cerca del final del periodo de validación (00:00 UTC), que es cuando suelen aparecer estos errores.Para minimizar el número de errores falsos, asegúrese de que
CDCLatencySource
para la tarea sea bajo. Para obtener información sobre el monitoreo de latencia, consulte Métricas de tareas de replicación. -
Las tareas en el estado
failed
ostopped
no validan los cambios del día anterior. Para minimizar los errores de validación debidos a errores inesperados, cree tareas exclusivas de validación independientes con las mismas asignaciones de tablas y los mismos puntos de conexión de origen y destino. Para obtener más información sobre las tareas exclusivas de validación, consulte Uso de tareas exclusivas de validación con validación de destino de S3. -
La columna Estado de validación de las estadísticas de la tabla refleja el estado de la validación de intervalo más reciente. Como resultado, una tabla que tenga discrepancias podría aparecer como validada tras la validación de intervalo del día siguiente. Compruebe
s3_validation_failures folder
en el bucket de Amazon S3 de destino por si hay discrepancias que se hayan producido hace más de un día. -
La validación de S3 utiliza la función de tabla agrupada de Amazon Athena. Esto permite que la validación de S3 haga una copia agrupada de los datos de la tabla de destino. Esto significa que la copia de los datos de la tabla se divide en subconjuntos que coinciden con la partición interna de la validación del DMS. Las mesas con cubos Athena tienen un límite de 100 000 cubos. Cualquier tabla que la validación de S3 intente validar y que supere este límite no será validada. La cantidad de cubos que S3 Validation intenta crear es igual a la siguiente:
(#records in the table) / (validation partition size setting)
Para evitar esta limitación, aumente la configuración del tamaño de la partición de validación para que el número de cubos creados por S3 Validation sea inferior a 100 000. Para obtener más información sobre el agrupamiento, consulte Particionamiento y agrupamiento en Athena en la Guía del usuario de Amazon Athena.
Uso de tareas exclusivas de validación con validación de destino de S3
Una tarea exclusiva de validación ejecuta la validación de los datos que se van a migrar sin ejecutar la migración.
Las tareas exclusivas de validación se siguen ejecutando, aunque la tarea de migración se detiene, lo que garantiza que AWS DMS no se pierda la validación de intervalo de las 00:00 UTC.
El uso de tareas exclusivas de validación con puntos de conexión de destino de Amazon S3 tiene las siguientes limitaciones:
-
Se admite la validación de Amazon S3 para tareas de carga completa con la configuración exclusiva de validación habilitada, pero funciona de manera diferente a las tareas de carga completa y exclusivas de validación para otros puntos de conexión. En el caso de S3 como destino, una tarea de este tipo se valida solo con los datos de carga completa del destino de S3 y no se valida con ningún dato migrado como parte de una migración de CDC. Utilice esta característica solo para validar los datos creados por una tarea exclusiva de carga completa. El uso de este modo para validar los datos de un destino en el que se esté ejecutando una tarea de CDC no producirá una validación eficaz.
-
Las tareas exclusivas de validación solo validan los cambios realizados desde la última validación de intervalo (00:00 UTC). Las tareas exclusivas de validación no validan los datos de carga completa ni los datos de CDC de días anteriores.