Ein Python-Skript, das eine datierte CSV-Datei als Zeitpartitionstabelle in BigQuery importiert

Hintergrund

Ich möchte ein Python-Skript, das eine CSV-Datei mit einem Datum im Dateinamen in BigQuery importiert, z. B. "xxxx_20200930.csv", mit einer Partitionszeit. Dieses Mal habe ich es unter der Annahme erstellt, dass sich eine große Anzahl von CSV-Dateien im Verzeichnis und darunter befindet.

Beispielskript

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 #Partitionsspezifikation

    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
        )
    )

Referenz

Laden Sie Daten aus der lokalen Datenquelle (https://cloud.google.com/bigquery/docs/loading-data-local?hl=ja#loading_data_from_a_local_data_source).

Recommended Posts

Ein Python-Skript, das eine datierte CSV-Datei als Zeitpartitionstabelle in BigQuery importiert
Python-Skript, das SQL-Dateien liest, BigQuery ausführt und CSV speichert
Python-Skript, das alle Datensätze der Oracle-Tabelle in eine CSV-Datei ausgibt
Python-Skript, das eine JSON-Datei aus einer CSV-Datei erstellt
Ein Hinweis, der einen Job in Python implementiert, der eine GCS-Datei in BigQuery lädt
Ein Python-Skript, das ein GTK-Bild (Clipboard) in einer Datei speichert.
Ein Python-Skript, das Oracle-Datenbankdaten in CSV konvertiert
Extrahieren Sie das Bigquery-Dataset und die Tabellenliste mit Python und geben Sie es in CSV aus
[Python] Speichern einer CSV-Datei als eindimensionale Array-Daten
Starten Sie das Python-Skript im Dienst
Laden Sie Pandas DataFrame als CSV-Datei herunter
[Python, PyPDF2] Ein Skript, das ein verbreitetes PDF in zwei links und rechts unterteilt
Lesen einer CSV-Datei mit Python 2/3
Ich habe versucht, eine CSV-Datei mit Python zu lesen
"Python Kit", das Python-Skripte von Swift aufruft
Ein Skript, das mehrere Seiten einer PDF-Datei zu einer Seite ohne Ränder kombiniert
Ein Skript, das Ihre bevorzugten Python-Module und Binärdateien in einer einzigen Lambda-Ebene kombiniert
[Python] Ein Notizbuch, das die ipynb-Datei von GitHub ins Japanische übersetzt und herunterlädt.
Bestätigen Sie das Überschreiben der Datei mit der Option, das Dateiobjekt als Argument mit Python argparse zu verwenden
Ein Python-Skript, das die Start- / Endzeit des Mac für die Anwesenheitsverwaltung verwenden möchte
Skript-Python-Datei
Ein Memorandum zum Ausführen eines Python-Skripts in einer Bat-Datei
Python, das viele Excel zu einem Excel zusammenführt
Shell-Skript zum Einfügen von Webmin in Alpine Linux
Was ist in dieser Variablen (wenn das Python-Skript ausgeführt wird)?
Erstellt eine Python-Bibliothek DateTimeRange, die Zeitbereiche verarbeitet
So speichern Sie eine von Python gekratzte Tabelle in CSV
Geben Sie das Ausgabeergebnis von sklearn.metrics.classification_report als CSV-Datei aus
Python-Programm, das ical-Daten in Text konvertiert