Home

Charger des données de JSON vers BigQuery – 3 options expliquées

Méthodes pour charger des données JSON dans BigQuery

JavaScript Notation Object (JSON) est un format d’échange de données largement utilisé. Il est facilement lisible, léger et indépendant du langage. Vous pouvez charger des données en JSON à partir de la plupart des applications et services. Il existe trois façons principales d’exporter des données de l’API JSON vers BigQuery :

1. Connecteur JSON par Coupler.io

Il s’agit d’une méthode sans code pour importer dynamiquement des données de JSON vers BigQuery à l’aide du connecteur de Coupler.io. Il s’agit d’une plateforme d’automatisation des rapports qui permet de transformer des données brutes en rapports simples. Le connecteur crée un pipeline de données qui automatise les mises à jour des données à intervalles réguliers. Vous pouvez également transformer les données avant de les importer dans BigQuery.

2. Importation manuelle (la méthode la plus simple)

Google BigQuery prend en charge JSON comme l’une des sources de données pour la création de tableaux. Vous pouvez importer manuellement JSON comme source de données pour créer un nouveau tableau. Cette méthode présente plusieurs inconvénients et peut ne pas convenir au chargement d’ensembles de données dynamiques

3. Importation programmatique (code et construction de votre connecteur)

Créez un connecteur de données personnalisé dans des langages de programmation tels que Python. Cette méthode nécessite une bonne compréhension des API de Google et une expertise en codage pour charger des données JSON dans BigQuery.

Nous allons explorer chacune des méthodes ci-dessus pour charger JSON dans BigQuery.

Comment importer dynamiquement des données JSON dans BigQuery avec Coupler.io ?

Vous pouvez connecter l’API à BigQuery ou charger des données à partir de fichiers JSON publiés en ligne en trois étapes simples :

Étape 1 : Collecte de données

Cliquez sur Proceed (Continuer) dans le formulaire ci-dessous pour créer un nouvel importateur avec JSON comme source et BigQuery comme destination. Il vous sera proposé de démarrer avec Coupler.io gratuitement, sans carte bleue.

Coupler.io vous permet également de

Configurez les paramètres suivants :

  • Saisissez JSON URL (l’URL JSON) (souvent appelée URL d’extrémité) à partir de laquelle l’importateur peut récupérer les données. Cette adresse peut varier en fonction des données que vous souhaitez récupérer. Par exemple, cette adresse peut varier en fonction des données que vous souhaitez récupérer :
URL JSON
  • Sélectionnez la méthode HTTP appropriée. GET est définie par défaut et sera votre méthode HTTP dans la plupart des cas. Reportez-vous à la documentation officielle de l’API de l’application ou du service concerné pour plus de détails.
  • Vous pouvez également spécifier les Request headers (en-têtes de requête) et les URL query parameters (paramètres de requête de l’URL) si l’API le requiert. Voici à quoi cela peut ressembler
réglages de la source

Étape 2 : Transformation des données

À cette étape, Coupler.io prévisualise jusqu’à 500 lignes de la source de données. Vous pouvez transformer les données avant de les importer dans BigQuery :

  • Gérer les colonnes : choisissez les colonnes que vous souhaitez importer de JSON vers BigQuery. Vous pouvez masquer les colonnes inutiles à partir d’ici.
  • Filtrer et trier les données : définissez des conditions pour extraire des données spécifiques de JSON dans BigQuery. Vous pouvez spécifier plusieurs conditions à l’aide des opérateurs AND (et) et OR (ou). Classez les données par ordre croissant ou décroissant d’une colonne spécifique.
  • Ajouter de nouvelles colonnes : créez une colonne calculable avec des données calculées à partir de colonnes existantes. En savoir plus sur les colonnes calculables dans Coupler.
  • Fusionner les données : choisissez la manière de combiner les données si vous avez connecté plusieurs sources de données.

Étape 3 : Chargement des données et programmation de l’actualisation

Connectez votre compte BigQuery. Pour cela, vous devez télécharger le fichier clé JSON de Google Cloud. Saisissez le nom de l’ensemble de données et le nom du tableau dans lesquels vous souhaitez importer les données. Un nouveau jeu de données sera créé si la destination fournie n’est pas trouvée.

L’importateur détecte automatiquement le schéma de données (auto-detect the data schema). Toutefois, vous pouvez définir le schéma du tableau manuellement en désactivant l’option.

destination bigquery

En option, vous pouvez configurer l’importateur pour qu’il ajoute un horodatage de la dernière mise à jour et remplace ou ajoute de nouvelles données dans le tableau BigQuery.

La meilleure partie de l’utilisation du connecteur Coupler.io est qu’il vous permet de charger automatiquement des données JSON dans BigQuery à intervalles réguliers. Activez l’option Automatic data refresh (rafraîchissement automatique des données) et configurez le calendrier souhaité.

mises à jour du calendrier

Save and Run (Sauvegardez et exécutez) votre importateur, et attendez quelques secondes pendant que vos données JSON se chargent dans BigQuery.

Maintenant, nous pouvons juste attendre ! Coupler.io exécutera des tâches de chargement automatisées à intervalles réguliers, comme configuré, et maintiendra les données BigQuery à jour. Aucune autre intervention n’est nécessaire. Et voilà la connexion JSON à BigQuery automatisée !

Utilisation manuelle de JSON pour entrer des données dans un tableau BigQuery

Vous pouvez télécharger manuellement le fichier au format JSONL à partir de votre ordinateur ou d’un espace de stockage sur le cloud et créer une table dans BigQuery.

Mais que signifie ce format ?

Dans le Newline Delimited JSON (NDJSON ou JSONL), les objets JSON sont séparés par une nouvelle ligne.

Exemple de syntaxe JSON :[ {“name” : “Alice”, “age” : 25, “city” : “New York”}, {“name” : “Bob”, “age” : 32, “city” : “San Francisco”}, {“name” : “Eve”, aâge” : 28, “city” : “Los Angeles”}, {“name” : “Michael”, “age” : 40, “city” : “Chicago”}]

Exemple de syntaxe JSONL:{“name” : “Alice”, “age” : 25, “city” : “New York”}{“name” : “Bob”, “age” : 32, “city” : “San Francisco”}{“nom” : “Eve”, “age” : 28, “ville” : “Los Angeles”}{“name” : “Michael”, “age” : 40 ans, “city” : “Chicago”}{“name” : “Michael”, “age” : 40, “city” : “Chicago”}

Vous pouvez utiliser l’application gratuite JSON to NDJSON Online Converter pour cela.

Une fois que vous avez les données JSON au format délimité par des lignes nouvelles, allez dans Google BigQuery Explorer et sélectionnez le jeu de données pour importer le JSON.

Cliquez sur le bouton Create Table (Créer un tableau) dans le coin supérieur droit.

créer un tableau

L’écran Create table (Créer un tableau) s’affiche alors, dans lequel vous devez configurer les paramètres de source suivants :

  • Create a table from (Créer une table à partir de) : sélectionnez le téléchargement pour importer JSON depuis votre ordinateur. Vous pouvez sélectionner d’autres options pertinentes, par exemple Google Cloud Storage Bucket.
  • Select file (Sélectionner un fichier) : téléchargez le fichier ici.
  • File format (Format de fichier) : sélectionnez JSONL (Newline delimited JSON).

Fill up the Table name in the destination section.

Remplissez le nom du Table (tableau) dans la section de destination.

Cochez l’option Auto detect (Détection automatique) pour permettre à BigQuery de détecter le type de données de chaque colonne et d’analyser les données en conséquence. Vous pouvez également déclarer le schéma de données manuellement en ne cochant pas cette option.

créer des tableaux

Cliquez sur Create Table (Créer un tableau) pour importer du JSON dans BigQuery.

Une fois l’importation terminée, vous pouvez trouver le tableau contenant les données JSON dans BigQuery.

avant-première

La méthode d’importation manuelle de JSON est très basique. Elle nécessite un formatage correct des données au format JSONL. En outre, ce n’est pas un moyen efficace d’importer des sources de données JSON dynamiques dans BigQuery.

Comment résoudre une erreur courante d’analyse JSON dans BigQuery ?

De nombreux utilisateurs signalent une erreur d’analyse JSON lors du chargement des données. Cette erreur est principalement due à l’incompatibilité des données JSON normales avec BigQuery. L’erreur se lit comme suit :

« Erreur lors de la lecture des données, message d’erreur : Failed to parse JSON : Unexpected end of string ; Unexpected end of string ; Expected key » (Échec de l’analyse JSON : fin inattendue de la chaîne de caractères ; fin inattendue de la chaîne de caractères ; clé attendue)

Vous pouvez facilement résoudre cette erreur en convertissant les données du format JSON standard au format JSON délimité par des lignes. Il existe de nombreux outils en ligne gratuits pour vous aider. Consultez le convertisseur en ligne JSON vers NDJSON.

Intégration de JSON à BigQuery à l’aide d’une API (méthode programmatique)

Google propose des API pour ses services de plate-forme Cloud. L’interface de programmation d’applications (API) est un protocole standard d’échange d’informations entre applications. Elle agit comme un médiateur dans l’échange d’informations.

Vous pouvez utiliser l’API pour interagir de manière programmatique avec BigQuery et effectuer des actions telles que l’importation de JSON.

Mais tout d’abord, vous devez activer l’API BigQuery dans votre Google Cloud Console et obtenir la clé API.

Connectez-vous à votre Google Cloud Console et allez dans Left Menu > APIs and Services > Library (le menu de gauche > API et services > Bibliothèque).
Recherchez BigQuery API (l’API BigQuery) dans la bibliothèque et activez-la.

activer bq api

Une fois l’API BigQuery activée, téléchargez la clé JSON de l’API à partir de la Google Console.

Vous pouvez maintenant utiliser cette clé API téléchargée pour authentifier les demandes adressées à BigQuery à partir d’un programme. Voyons cela plus en détail à l’aide d’un exemple.

Script Python pour importer JSON dans BigQuery

L’API BigQuery peut être utilisée avec des programmes écrits en Python, Java, C et d’autres langages de ce type. Voici un exemple de la façon de procéder avec Python.

Pour importer du JSON dans BigQuery via l’API, vous devez installer la bibliothèque BigQuery Python.

Exécutez la commande suivante :

pip install google-cloud-bigquery

Une fois la bibliothèque Google Cloud BigQuery installée, vous pouvez utiliser ses fonctions pour créer des tableaux dans BigQuery à partir de JSON. Par exemple :

from google.cloud import bigquery
from google.oauth2 import service_account
# Remplacez par votre propre chemin de fichier JSON et les détails de l'ensemble de données et de la table BigQuery
chemin_du_fichier_json = "path/to/data/source.json"
project_id = "bigquery-project-id"
dataset_id = "bigquery-dataset-id"
table_id = "bigquery-table-id"
# Configurez les informations d'identification (remplacer 'path/to/your/credentials.json' par le fichier clé de votre compte de service)
credentials = service_account.Credentials.from_service_account_file(
   "path/to/your/credentials.json",
)
# Créez un client BigQuery
client = bigquery.Client(project=project_id, credentials=credentials)
# Spécifiez l'ensemble de données et la table vers lesquels vous souhaitez télécharger les données.
dataset_ref = client.dataset(dataset_id)
table_ref = dataset_ref.table(table_id)
# Chargement du fichier JSON dans BigQuery
job_config = bigquery.LoadJobConfig()
job_config.source_format = bigquery.SourceFormat.NEWLINE_DELIMITED_JSON
job_config.autodetect = True   # Cela permet à BigQuery de détecter automatiquement le schéma.
with open(json_file_path, "rb") as source_file :
   job = client.load_table_from_file(source_file, table_ref, job_config=job_config)
job.result()   # Attendez la fin du travail
print(f "Chargé {job.output_rows} lignes dans {table_id}")

Dans le script ci-dessus, remplacez les éléments requis et enregistrez-le en tant que script Python. Exécutez le programme Python, qui convertira la chaîne JSON en tableaux BigQuery.

Ce programme prend en charge les fichiers Newline Delimited JSON ; par conséquent, vous devrez convertir le fichier source avant de l’exporter. Vous pouvez également créer une fonction supplémentaire pour convertir JSON au format JSONL si vous êtes un codeur professionnel.

Ce script est un exemple basique de chargement de JSON à partir d’un ordinateur local à l’aide de Python. Vous pouvez le modifier pour automatiser le processus d’exportation ou même accéder à JSON à partir d’autres serveurs via l’API. Mais il nécessite des compétences de programmation de haut niveau.

Vous aurez également besoin d’un serveur ou d’un environnement cloud pour exécuter le programme. Cette méthode peut s’avérer coûteuse à long terme.

Quelle est la manière la plus efficace de charger des données JSON dans BigQuery ?

Le chargement de données JSON dans BigQuery est un excellent moyen d’extraire des informations significatives à partir de données volumineuses. BigQuery vous permet de stocker des données dans des tableaux et des structures, ce qui offre davantage d’informations. Vous pouvez choisir plusieurs options pour effectuer le transfert de données de JSON vers BigQuery.

Si vous travaillez avec des sources de données statiques, qui ne nécessitent pas de mises à jour occasionnelles, l’option manuelle peut être le bon choix. La méthode programmatique de chargement de JSON dans BigQuery semble convenir aux analyseurs de données et aux développeurs.

Dans l’ensemble, le connecteur Coupler.io est le plus efficace si vous travaillez avec des sources de données dynamiques. En outre, Coupler.io offre des fonctionnalités avancées, telles que la transformation et l’assemblage de données, qui permettent d’aller plus loin dans l’analyse des données.

Automatisez l’exportation de données vers BigQuery avec Coupler.io

Commencez gratuitement