Bonjour ceci est une question 2 partieConfusion lors du téléchargement d'un JSON de stockage googlecloud à BigQuery
1) Actuellement, je suis en train de télécharger un fichier de stockage en nuage Google BigQuery via un script python. J'essaie de suivre les étapes indiquées par le site d'aide google.
https://cloud.google.com/bigquery/docs/loading-data-cloud-storage#bigquery-import-gcs-file-python
def load_data_from_gcs(dataset_name, table_name, source):
bigquery_client = bigquery.Client()
dataset = bigquery_client.dataset(dataset_name)
table = dataset.table(table_name)
job_name = str(uuid.uuid4())
job = bigquery_client.load_table_from_storage(
job_name, table, source)
job.begin()
wait_for_job(job)
print('Loaded {} rows into {}:{}.'.format(
job.output_rows, dataset_name, table_name))
Je ne sais pas quoi mettre pour la première ligne de « load_data_from_gcs » parce que dans Google Cloud, il n'y a pas de tables, il est JSON Je suis en train de télécharger. Est-ce que la partie « table » soit le nom de la table, je suis en train de créer ou est-il parle du seau parce qu'il n'y a pas de partie pour spécifier quel seau je veux tirer de.
C'est le code que j'ai jusqu'à présent.
import json
import argparse
import time
import uuid
from google.cloud import bigquery
# from google.cloud import storage
def load_data_from_gcs('dataworks-356fa', table_name, 'pullnupload.json'):
bigquery_client = bigquery.Client('dataworks-356fa')
dataset = bigquery_client.dataset('FirebaseArchive')
table = dataset.table(table_name)
job_name = str(uuid.uuid4())
job = bigquery_client.load_table_from_storage(
job_name, table, source)
job.begin()
wait_for_job(job)
print('Loaded {} rows into {}:{}.'.format(
job.output_rows, dataset_name, table_name))
partie 2) Je veux que ce script pour exécuter toutes les semaines et être en mesure soit de supprimer l'ancienne table et créer un nouveau ou soit filtre uniquement dans les données non-double. Celui qui est le plus facile.
Nous vous remercions de votre aide.
alors quand je l'exécute en python, il fonctionnera sans erreur mais n'exécutera rien. Aucune suggestion? –
ce que vous voulez dire qu'il ne traite rien? le 'job.state' continue à' RUNNING'? –
non il me retourne au terminal normal comme si le travail est terminé et ne montre aucune erreur, mais il n'y a pas de changement à mon google cloud ou bigquery –