DataWorks met à votre disposition les connecteurs Amazon Redshift Reader et Amazon Redshift Writer pour lire des données depuis et écrire des données vers des sources de données Amazon Redshift. Configurez une tâche de synchronisation pour une source de données Amazon Redshift à l'aide de l'interface sans code ou de l'éditeur de code.
Versions d'Amazon Redshift prises en charge
Amazon Redshift utilise le pilote redshift-jdbc4.2 Driver 2.1.0.1. Pour plus d'informations sur les fonctionnalités du pilote, consultez la page Configuration d'une version de pilote JDBC pour Amazon Redshift.
Correspondances des types de données
Le tableau suivant décrit les correspondances entre les types de données Amazon Redshift et les types de données SQL/Java. Pour plus d'informations, consultez la documentation officielle d'Amazon Redshift.
|
Type de données Amazon Redshift |
Type de données SQL |
Type de données 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 |
Préparatifs pour la synchronisation des données
Avant de synchroniser des données dans DataWorks, établissez des connexions réseau entre vos sources de données et un groupe de ressources serverless ou un groupe de ressources exclusif pour Data Integration, afin de permettre au groupe de ressources d'accéder aux sources de données via le réseau interne. Nous vous recommandons d'utiliser un groupe de ressources serverless pour la synchronisation des données. Pour savoir comment établir des connexions réseau, consultez les Solutions de connectivité réseau.
Créer une source de données
Avant de développer une tâche de synchronisation dans DataWorks, ajoutez la source de données requise à DataWorks en suivant les instructions de la rubrique Configuration de la source de données. Consultez les descriptions des paramètres dans la console DataWorks pour comprendre leur signification lors de l'ajout d'une source de données.
Voici les principaux paramètres d'une source de données Amazon Redshift.
JDBC URL : Chaîne de connexion JDBC, incluant l'adresse IP, le numéro de port, la base de données et les paramètres de connexion. Les adresses IP publiques et privées sont prises en charge. Si vous utilisez une adresse IP publique, assurez-vous que le groupe de ressources d'intégration des données peut accéder à l'hôte sur lequel votre instance Amazon Redshift est située.
Username : Nom d'utilisateur de votre base de données Amazon Redshift.
Password : Mot de passe associé au nom d'utilisateur spécifié.
Développer une tâche de synchronisation des données
Pour connaître le point d'entrée et la procédure de configuration d'une tâche de synchronisation, reportez-vous aux guides de configuration suivants.
Configurer une tâche de synchronisation par lots pour synchroniser les données d'une seule table
Pour plus d'informations sur la procédure de configuration, consultez les rubriques Configurer une tâche de synchronisation par lots à l'aide de l'interface sans code et Configurer une tâche de synchronisation par lots à l'aide de l'éditeur de code.
Pour obtenir la liste complète des paramètres et un exemple de script pour l'éditeur de code, consultez l'Annexe : Exemples de scripts et descriptions des paramètres.
Annexe : Exemples de scripts et descriptions des paramètres
Configurer une tâche de synchronisation par lots à l'aide de l'éditeur de code
Pour configurer une tâche de synchronisation par lots à l'aide de l'éditeur de code, définissez les paramètres associés dans le script en respectant le format de script unifié. Pour plus d'informations, consultez la rubrique Configuration en mode script. Les informations suivantes décrivent les paramètres à configurer pour les sources de données lors de la configuration d'une tâche de synchronisation par lots à l'aide de l'éditeur de code.
Exemple de script 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"
}
Paramètres Reader
|
Paramètre |
Description |
Obligatoire |
Valeur par défaut |
|
datasource |
Nom de la source de données. Il doit correspondre au nom de la source de données ajoutée dans DataWorks. |
Oui |
Aucune valeur par défaut |
|
table |
Nom de la table source à partir de laquelle lire les données. |
Oui |
Aucune valeur par défaut |
|
column |
Colonnes à synchroniser, séparées par des virgules. Par exemple, Pour synchroniser toutes les colonnes, utilisez un astérisque (). Par exemple, |
Oui |
Aucune valeur par défaut |
|
where |
Clause WHERE. La tâche concatène les paramètres column, table et where pour former une instruction SQL permettant de lire les données de la table source. À des fins de test, vous pouvez définir cette clause sur limit 10. Pour lire les données générées le jour même, définissez le paramètre where sur gmt_create > $bizdate.
|
Non |
Aucune valeur par défaut |
|
splitPk |
Colonne utilisée pour le partitionnement des données. Lorsqu'elle est spécifiée, le système utilise des threads parallèles pour synchroniser les données, ce qui améliore l'efficacité. |
Non |
Aucune valeur par défaut |
Exemple de script 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"
}
Paramètres Writer
|
Paramètre |
Description |
Obligatoire |
Valeur par défaut |
|
datasource |
Nom de la source de données, qui doit correspondre au nom configuré dans DataWorks. |
Oui |
S/O |
|
table |
Nom de la table de destination. |
Oui |
S/O |
|
column |
Colonnes de destination vers lesquelles écrire les données, séparées par des virgules. Par exemple, Pour écrire dans toutes les colonnes dans l'ordre, utilisez un astérisque (*). Par exemple, |
Oui |
S/O |
|
preSql |
Instruction SQL à exécuter avant le démarrage de la tâche de synchronisation. Par exemple, effacez les anciennes données de la table cible. Spécifiez une instruction dans l'interface sans code ou plusieurs instructions dans l'éditeur de code. |
Non |
S/O |
|
postSql |
Instruction SQL à exécuter après la fin de la tâche de synchronisation. Par exemple, ajoutez un horodatage. Spécifiez une instruction dans l'interface sans code ou plusieurs instructions dans l'éditeur de code. |
Non |
S/O |
|
batchSize |
Nombre d'enregistrements à écrire par lot. |
Non |
2048 |
|
writeMode |
Mode d'écriture. Seul le mode |
Non |
insert |