La source de données BigQuery permet de connecter DataWorks à Google BigQuery pour lire des données dans le cadre d'une tâche de synchronisation hors ligne. Configurez la tâche via l'interface graphique sans code ou l'éditeur de code.
Fonctionnalités prises en charge
| Fonctionnalité | Prise en charge |
|---|---|
| Synchronisation hors ligne (par lots) | Oui |
| Configuration via l'interface graphique sans code | Oui |
| Configuration via l'éditeur de code | Oui |
Synchronisation incrémentielle (via le filtre where) |
Oui |
| Synchronisation basée sur les partitions | Oui |
Synchronisation simultanée (via splitPk) |
Oui |
Régions prises en charge
Les sources de données BigQuery sont disponibles dans les régions suivantes : Chine (Hong Kong), Japon (Tokyo), Singapour, Malaisie (Kuala Lumpur), Indonésie (Jakarta), Allemagne (Francfort), Royaume-Uni (Londres), États-Unis (Silicon Valley) et États-Unis (Virginie).
La version du SDK BigQuery est google-cloud-bigquery 2.29.0. Pour plus de détails sur le SDK, consultez la documentation BigQuery.
Types de champs pris en charge
Le tableau suivant répertorie les types de champs BigQuery pris en charge par DataWorks et leurs équivalents Java.
| Type BigQuery | Type Java |
|---|---|
| BOOL | Bool |
| INT64 | Long |
| FLOAT64 | BigDecimal |
| NUMERIC | BigDecimal |
| BIGNUMERIC | BigDecimal |
| STRING | String |
| BYTES | Bytes |
| STRUCT | String |
| ARRAY | String |
| TIMESTAMP | Date |
| DATE | Date |
| TIME | Date |
| DATETIME | Date |
| GEOGRAPHY | String |
| JSON | String |
| INTERVAL | String |
Pour la référence complète des types BigQuery, consultez la documentation sur les types de données BigQuery.
Prérequis
Avant de commencer, vérifiez que vous disposez des éléments suivants :
Une connectivité réseau entre votre source de données BigQuery et un groupe de ressources serverless ou un groupe de ressources exclusif pour Data Integration. Utilisez un groupe de ressources serverless pour la plupart des tâches de synchronisation. Pour configurer la connectivité, consultez les Solutions de connectivité réseau.
Un fichier d'authentification de compte de service (clé JSON) téléchargé depuis Google Cloud.
L'ID de projet BigQuery de votre projet Google Cloud.
Ajouter la source de données BigQuery
Ajoutez BigQuery en tant que source de données dans DataWorks avant de créer une tâche de synchronisation. Suivez les instructions de la rubrique Gestion des sources de données.
Les paramètres suivants sont spécifiques à la source de données BigQuery :
| Paramètre | Description |
|---|---|
| BigQuery Project ID | L'ID de votre projet Google Cloud. |
| BigQuery authorization information | Téléchargez le fichier d'authentification JSON obtenu depuis Google Cloud. |
Conseil : Consultez les descriptions des paramètres directement dans la console DataWorks lors de l'ajout de la source de données.
Configurer une tâche de synchronisation
Pour configurer la tâche étape par étape, consultez :
Annexe : Exemple de script et description des paramètres
Utilisez l'exemple de script et la référence des paramètres ci-dessous pour configurer une tâche de synchronisation par lots BigQuery dans l'éditeur de code. Pour les exigences générales de l'éditeur de code, consultez Configurer une tâche dans l'éditeur de code.
Exemple de script Reader
{
"stepType": "bigquery",
"parameter": {
"datasource": "bq_test1",
"dataSet": "database_0724",
"table": "partition_1107",
"column": [
"id",
"table_id",
"table_no",
"table_name",
"table_status"
],
"where": "xxx=3",
"partition": [
"_PARTITIONTIME='2023-11-07'"
]
},
"name": "Reader",
"category": "reader"
}
Paramètres Reader
| Paramètre | Obligatoire | Valeur par défaut | Description |
|---|---|---|---|
datasource |
Oui | Aucune | Le nom de la source de données. Il doit correspondre au nom de la source de données ajoutée dans DataWorks. |
dataSet |
Oui | Aucune | L'ensemble de données BigQuery. |
table |
Oui | Aucune | Le nom de la table à synchroniser. |
column |
Oui | Aucune | Les colonnes à lire. Exemple : ["id", "name", "age"]. |
where |
Non | Aucune | Une condition de filtre appliquée à la requête. Le lecteur BigQuery combine column, table et where dans une instruction SQL pour extraire les données. Par exemple, utilisez LIMIT 10 pour les tests, ou gmt_create>$bizdate pour la synchronisation incrémentielle quotidienne. Laissez ce champ vide pour lire toutes les données. |
partition |
Non | Aucune | Une ou plusieurs partitions à synchroniser. Exemple : ["_PARTITIONTIME='2023-11-07'"]. |
splitPk |
Non | Aucune | Le champ utilisé pour partitionner les données afin d'activer la synchronisation simultanée. Ce paramètre n'a aucun effet si partition est spécifié. |