DataWorks ofrece Amazon Redshift Reader y Amazon Redshift Writer para leer y escribir datos en orígenes de datos de Amazon Redshift. Configure la tarea de sincronización para este tipo de origen desde la interfaz sin código o el editor de código.
Versiones compatibles de Amazon Redshift
Amazon Redshift utiliza redshift-jdbc4.2 Driver 2.1.0.1. Para más información sobre las capacidades del controlador, consulte Configure a JDBC driver version for Amazon Redshift.
Asignaciones de tipos de datos
La siguiente tabla describe las asignaciones entre los tipos de datos de Amazon Redshift y los tipos de datos de SQL y Java. Para más información, consulte la documentación oficial de Amazon Redshift.
|
Tipo de dato de Amazon Redshift |
Tipo de dato de SQL |
Tipo de dato de Java |
|
BIGINT |
SQL_BIGINT |
LONG |
|
BOOLEAN |
SQL_BIT |
Boolean |
|
CHAR |
SQL_CHAR |
STRING |
|
DATE |
SQL_TYPE_DATE |
java.sql.Date |
|
DECIMAL |
SQL_NUMERIC |
BigDecimal |
|
DOUBLE PRECISION |
SQL_DOUBLE |
Double |
|
GEOMETRY |
SQL_ LONGVARBINARY |
byte[] |
|
INTEGER |
SQL_INTEGER |
INTEGER |
|
OID |
SQL_BIGINT |
LONG |
|
SUPER |
SQL_LONGVARCHAR |
STRING |
|
REAL |
SQL_REAL |
Float |
|
SMALLINT |
SQL_SMALLINT |
SHORT |
|
TEXT |
SQL_VARCHAR |
STRING |
|
TIME |
SQL_TYPE_TIME |
java.sql.Time |
|
TIMETZ |
SQL_TYPE_TIME |
java.sql.Time |
|
TIMESTAMP |
SQL_TYPE_ TIMESTAMP |
java.sql.Timestamp |
|
TIMESTAMPTZ |
SQL_TYPE_ TIMESTAMP |
java.sql.Timestamp |
|
VARCHAR |
SQL_VARCHAR |
STRING |
Preparativos para la sincronización de datos
Antes de sincronizar datos en DataWorks, establezca conexiones de red entre sus orígenes de datos y un serverless resource group o un resource group exclusivo para Data Integration. Esto permite que el resource group acceda a los orígenes de datos mediante una red interna. Se recomienda usar un serverless resource group para la sincronización de datos. Para conocer el procedimiento de conexión de red, consulte Network connectivity solutions.
Cree un origen de datos
Antes de desarrollar una tarea de sincronización en DataWorks, agregue el origen de datos correspondiente según las instrucciones de Data source configuration. Durante este proceso, consulte las descripciones de parámetros en la consola de DataWorks para comprender el significado de cada uno.
Estos son los parámetros clave de un origen de datos de Amazon Redshift.
JDBC URL: cadena de conexión JDBC que incluye la dirección IP, el número de puerto, la base de datos y los parámetros de conexión. Son compatibles tanto las direcciones IP públicas como las privadas. Si usa una dirección IP pública, asegúrese de que el resource group de integración de datos pueda acceder al host donde se encuentra su instancia de Amazon Redshift.
Username: nombre de usuario de su base de datos de Amazon Redshift.
Password: contraseña del nombre de usuario especificado.
Desarrolle una tarea de sincronización de datos
Para conocer el punto de entrada y el procedimiento de configuración de una tarea de sincronización, consulte las siguientes guías.
Configure una tarea de sincronización por lotes para una sola tabla
Para más detalles sobre el procedimiento de configuración, consulte Configure a batch synchronization task by using the codeless UI y Configure a batch synchronization task by using the code editor.
La lista completa de parámetros y un ejemplo de script para el editor de código están disponibles en Appendix: Script examples and parameter descriptions.
Apéndice: ejemplos de scripts y descripciones de parámetros
Configure una tarea de sincronización por lotes con el editor de código
Si configura una tarea de sincronización por lotes con el editor de código, defina los parámetros correspondientes en el script según los requisitos unificados de formato. Para más información, consulte Script mode configuration. A continuación se describen los parámetros obligatorios para los orígenes de datos cuando se utiliza el editor de código.
Ejemplo de script de Reader
{
"stepType": "redshift"
"parameter":
{
"datasource":"redshift_datasource",
"table": "redshift_table_name",
"where": "xxx=3",
"splitPk": "id",
"column":
[
"id",
"table_id",
"table_no",
"table_name",
"table_status"
]
},
"name": "Reader",
"category": "reader"
}
Parámetros de Reader
|
Parámetro |
Descripción |
Obligatorio |
Valor predeterminado |
|
datasource |
Nombre del origen de datos. Debe coincidir con el nombre del origen de datos que agregó en DataWorks. |
Sí |
Sin valor predeterminado |
|
table |
Nombre de la tabla de origen de la que se leen los datos. |
Sí |
Sin valor predeterminado |
|
column |
Columnas que se van a sincronizar, separadas por comas. Por ejemplo, Para sincronizar todas las columnas, use un asterisco (). Por ejemplo, |
Sí |
Sin valor predeterminado |
|
where |
Cláusula WHERE. La tarea concatena los parámetros column, table y where en una instrucción SQL para leer los datos de la tabla de origen. Durante las pruebas, puede establecer este parámetro en limit 10. Para leer los datos generados el día actual, establezca el parámetro where en gmt_create > $bizdate.
|
No |
Sin valor predeterminado |
|
splitPk |
Columna utilizada para la fragmentación de datos. Cuando se especifica, el sistema usa subprocesos paralelos para sincronizar los datos, lo que mejora la eficiencia. |
No |
Sin valor predeterminado |
Ejemplo de script de Writer
{
"stepType": "redshift",// The plugin name.
"parameter":
{
"postSql":["delete from XXX;"],
"preSql":["delete from XXX;"],
"datasource":"redshift_datasource",// The data source name.
"table": "redshift_table_name",// The table name.
"writeMode": "insert",
"batchSize": 2048,
"column":
[
"id",
"table_id",
"table_no",
"table_name",
"table_status"
]
},
"name": "Writer",
"category": "writer"
}
Parámetros de Writer
|
Parámetro |
Descripción |
Obligatorio |
Valor predeterminado |
|
datasource |
Nombre del origen de datos. Debe coincidir con el nombre configurado en DataWorks. |
Sí |
N/D |
|
table |
Nombre de la tabla de destino. |
Sí |
N/D |
|
column |
Columnas de destino donde se escriben los datos, separadas por comas. Por ejemplo, Para escribir en todas las columnas en orden, use un asterisco (*). Por ejemplo, |
Sí |
N/D |
|
preSql |
Instrucción SQL que se ejecuta antes de iniciar la tarea de sincronización. Por ejemplo, sirve para borrar datos antiguos de la tabla de destino. En la interfaz sin código se especifica una sola instrucción; en el editor de código se permiten varias. |
No |
N/D |
|
postSql |
Instrucción SQL que se ejecuta después de finalizar la tarea de sincronización. Por ejemplo, resulta útil para agregar una marca de tiempo. En la interfaz sin código se especifica una sola instrucción; en el editor de código se permiten varias. |
No |
N/D |
|
batchSize |
Número de registros que se escriben por lote. |
No |
2048 |
|
writeMode |
Modo de escritura. Solo es compatible |
No |
insert |