Un script python qui importe un fichier csv daté dans BigQuery en tant que table de partition de temps

Contexte

Je veux un script python qui importe un fichier csv avec une date dans le nom de fichier dans BigQuery, tel que «xxxx_20200930.csv», avec une heure de partition. Cette fois, je l'ai créé en supposant qu'un grand nombre de fichiers csv se trouvent dans le répertoire et en dessous.

Exemple de script

main.py



from google.cloud import bigquery
import json
import glob

client = bigquery.Client()

job_config = bigquery.LoadJobConfig(
    source_format=bigquery.SourceFormat.CSV,
    skip_leading_rows=1,
    autodetect=True,
    allow_quoted_newlines=True,
    time_partitioning=bigquery.TimePartitioning()
)

path = "../some/dir/*"
files = glob.glob(path + '*')

for file_name in files:
    date = file_name.split('_')[-1][0:8]
    table_id = 'dataset.table_name$' + date #Spécification de la partition

    with open(file_name, "rb") as source_file:
        job = client.load_table_from_file(
            source_file,
            table_id,
            job_config=job_config
    )

    job.result()  # Waits for the job to complete.

    table = client.get_table(table_id)  # Make an API request.
    print(
        "Loaded {} rows and {} columns to {}".format(
            table.num_rows, len(table.schema), table_id
        )
    )

référence

Charger des données à partir d'une source de données locale (https://cloud.google.com/bigquery/docs/loading-data-local?hl=ja#loading_data_from_a_local_data_source)

Recommended Posts

Un script python qui importe un fichier csv daté dans BigQuery en tant que table de partition de temps
Script Python qui lit les fichiers SQL, exécute BigQuery et enregistre le csv
Script Python qui génère tous les enregistrements de la table Oracle dans un fichier CSV
Script Python qui crée un fichier JSON à partir d'un fichier CSV
Une note qui implémente une tâche en Python qui charge un fichier GCS dans BigQuery
Un script Python qui enregistre une image de presse-papiers (GTK) dans un fichier.
Un script python qui convertit les données Oracle Database en csv
Extraire le jeu de données bigquery et la liste des tables avec python et la sortie en CSV
[Python] Comment stocker un fichier csv en tant que données de tableau à une dimension
Lancer le script Python en service
Téléchargez Pandas DataFrame sous forme de fichier CSV
[Python, PyPDF2] Un script qui divise un PDF étalé en deux à gauche et à droite
Comment lire un fichier CSV avec Python 2/3
J'ai essayé de lire un fichier CSV en utilisant Python
"Kit Python" qui appelle des scripts Python depuis Swift
Un script qui combine plusieurs pages d'un fichier PDF en une seule page sans marges
Un script qui combine vos modules et binaires Python préférés en une seule couche Lambda
[Python] Un bloc-notes qui traduit et télécharge le fichier ipynb de GitHub en japonais.
Confirmer l'écrasement du fichier avec l'option de prendre l'objet fichier comme argument avec Python argparse
Un script python qui souhaite utiliser l'heure de démarrage / fin de Mac pour la gestion des présences
Fichier python de script
Un mémorandum pour exécuter un script python dans un fichier bat
Python qui fusionne beaucoup d'excellence en un seul Excel
Script Shell pour mettre Webmin dans Alpine Linux
Que contient cette variable (lorsque le script Python est en cours d'exécution)
Création d'une bibliothèque Python DateTimeRange qui gère les plages horaires
Comment enregistrer une table récupérée par python en csv
Afficher le résultat de sortie de sklearn.metrics.classification_report sous forme de fichier CSV
Programme Python qui convertit les données ical en texte