Solución de problemas de integraciones sin ETL de Amazon RDS con Amazon Redshift
Para comprobar el estado de una integración sin ETL, consulte la tabla del sistema SVV_INTEGRATION en Amazon Redshift. Si la columna state
tiene un valor de ErrorState
, significa que algo está mal. Para obtener más información, consulte Monitorización de las integraciones mediante tablas del sistema.
Utilice la siguiente información para solucionar problemas habituales relacionados con las integraciones sin ETL de Amazon RDS con Amazon Redshift.
Temas
No puedo crear una integración sin ETL
Si no puede crear una integración sin ETL, asegúrese de que los siguientes elementos sean correctos para la base de datos de origen:
-
La base de datos de origen debe ejecutar una versión de motor de base de datos compatible. Para obtener una lista de las versiones compatibles, consulte Regiones y motores de base de datos admitidos para las integraciones sin ETL de Amazon RDS con Amazon Redshift..
-
Ha configurado correctamente los parámetros de la base de datos. Si los parámetros requeridos están configurados incorrectamente o no están asociados a la base de datos, se producirá un error en la creación. Consulte Crear un grupo de parámetros de de base de datos personalizado.
Además, asegúrese de que lo siguiente sea correcto para su almacenamiento de datos de destino:
-
La distinción entre mayúsculas y minúsculas está activada. Consulte Turn on case sensitivity for your data warehouse.
-
Ha añadido la entidad principal autorizado y el origen de integración correctos. Consulte Configuración de la autorización para el almacenamiento de datos de Amazon Redshift.
-
El almacenamiento de datos está cifrado (si se trata de un clúster aprovisionado). Consulte Cifrado de la base de datos de Amazon Redshift.
Mi integración está atascada en un estado de Syncing
Es posible que su integración muestre continuamente el estado Syncing
si cambia el valor de uno de los parámetros de base de datos necesarios.
Para solucionarlo, compruebe los valores de los parámetros del grupo de parámetros asociado a la base de datos de origen y asegúrese de que coincidan con los valores requeridos. Para obtener más información, consulte Crear un grupo de parámetros de de base de datos personalizado.
Si modifica algún parámetro, asegúrese de reiniciar la base de datos para aplicar los cambios.
Mis tablas no se replican en Amazon Redshift
Si no ve reflejadas una o varias tablas en Amazon Redshift, puede ejecutar el siguiente comando para volver a sincronizarlas:
ALTER DATABASE
dbname
INTEGRATION REFRESH TABLEStable1
,table2
;
Para obtener más información, consulte ALTER DATABASE en la Referencia de SQL de Amazon Redshift.
Es posible que los datos no se estén replicando porque una o varias de las tablas de origen no tienen una clave principal. El panel de supervisión de Amazon Redshift muestra el estado de estas tablas como Failed
y el estado de la integración sin ETL global cambia a Needs attention
. Para resolver este problema, puede identificar una clave existente en la tabla que pueda convertirse en clave principal o puede añadir una clave principal sintética. Para obtener soluciones detalladas, consulte Handle tables without primary keys while creating Amazon Aurora MySQL or Amazon RDS for MySQL zero-ETL integrations with Amazon Redshift
Una o más de mis tablas de Amazon Redshift requieren una resincronización
La ejecución de algunos comandos en la base de datos de origen puede requerir que las tablas se vuelvan a sincronizar. En estos casos, la vista del sistema SVV_INTEGRATION_TABLE_STATE muestra un table_state
de ResyncRequired
, lo que significa que la integración debe volver a cargar por completo los datos de esa tabla de MySQL a Amazon Redshift.
Cuando la tabla comienza a resincronizarse, entra en un estado de Syncing
. No es necesario realizar ninguna acción manual para volver a sincronizar una tabla. Mientras se vuelven a sincronizar los datos de la tabla, no puede acceder a ellos en Amazon Redshift.
A continuación se muestran algunos ejemplos de operaciones que pueden poner una tabla en estado ResyncRequired
y las posibles alternativas que se pueden considerar.
Operación | Ejemplo | Alternativa |
---|---|---|
Añadir una columna a una posición específica |
|
Amazon Redshift no admite la adición de columnas en posiciones específicas mediante las palabras clave first o after . Si el orden de las columnas de la tabla de destino no es crucial, añada la columna al final de la tabla con un comando más sencillo:
|
Añadir una columna de marca temporal con la opción predeterminada CURRENT_TIMESTAMP |
|
RDS para MySQL calcula el valor CURRENT_TIMESTAMP de las filas de la tabla existentes y no se puede simular en Amazon Redshift sin una resincronización completa de los datos de la tabla. Si es posible, cambie el valor predeterminado a una constante literal, por ejemplo, |
Realizar operaciones en varias columnas con un solo comando |
|
Considere la posibilidad de dividir el comando en dos operaciones distintas ADD y RENAME lo que no requerirá resincronización. |