So arbeiten Sie mit BigQuery in Python

Details zum Umgang mit BigQuery in Python finden Sie unter hier. Verwalten von Datensätzen, wenn Sie mit Datensätzen arbeiten möchten Tabellen verwalten, wenn Sie Tabellen bearbeiten möchten Es gibt eine Beschreibung in.

Eine Tabelle erstellen

Eine Tabelle erstellen


from google.cloud import bigquery

#Bei Verwendung mit Colab muss der PJ-Name angegeben werden
client = bigquery.Client()
client = bigquery.Client(project=project_id) # "your-project"

schema = [
    bigquery.SchemaField("full_name", "STRING", mode="REQUIRED"),
    bigquery.SchemaField("age", "INTEGER", mode="REQUIRED"),
]

# table_id = "your-project.your_dataset.your_table_name"
table = bigquery.Table(table_id, schema=schema)
table = client.create_table(table)  # Make an API request.

print(
    "Created table {}.{}.{}".format(table.project, table.dataset_id, table.table_id)
)

So legen Sie das Schema beim Erstellen einer Tabelle fest

Details zur Anweisung finden Sie unter hier. , Einzelheiten zur Angabe des Schemas finden Sie auf der offiziellen BigQuery-Website. Ändern Sie Feldtyp und Modus nach Bedarf.

Erklärung


SchemaField(name, field_type, mode='', description=None, fields=(), policy_tags=None)

Ein Beispiel für eine Schemaspezifikation


#String(Es ist ein Leerzeichen)
SchemaField(name, 'STRING', mode='NULLABLE')
#ganze Zahl(Es ist ein Leerzeichen)
SchemaField(name, 'INT64', mode='NULLABLE')
#Gleitkomma(Es ist ein Leerzeichen)
SchemaField(name, 'FLOAT64', mode='NULLABLE')
#Datum(Verpflichtend)
SchemaField(name, 'DATE', mode='REQUIRED')
#Datum (und Uhrzeit(Verpflichtend)
SchemaField(name, 'DATETIME', mode='REQUIRED')

So führen Sie eine Abfrage aus

Abfrage ausführen


from google.cloud import bigquery

#Bei Verwendung mit Colab muss der PJ-Name angegeben werden
client = bigquery.Client()
client = bigquery.Client(project=project_id) # "your-project"

#Beschreiben Sie die Abfrage, die Sie ausführen möchten
query = '''
select * from `tableID`
where ...
'''

client.query(query)

Einfügen

Bitte beachten Sie, dass Sie bis zu 10.000 Zeilen gleichzeitig einfügen können. Wenn Sie mehr als 10.000 Zeilen eingeben möchten, können Sie die unten beschriebene Methode verwenden.

from google.cloud import bigquery

#Bei Verwendung mit Colab muss der PJ-Name angegeben werden
client = bigquery.Client()
client = bigquery.Client(project=project_id) # "your-project"

# table_id = "your-project.your_dataset.your_table_name"
table = client.get_table(table_id)  # Make an API request.

#Zweidimensionales Array von Listen
#Im Beispiel handelt es sich um einen Taple, aber es gibt kein Problem mit der Liste(Unten ist der Fall mit zwei Spalten)
#Allerdings die Anzahl der Schemata und die Tupel im Inneren(oder Liste)Beachten Sie, dass ein Fehler auftritt, wenn die Anzahl der Elemente in
rows_to_insert = [("string", num), ("string", num)]

errors = client.insert_rows(table, rows_to_insert)  # Make an API request.

#Bei Verwendung von Pandas Datenflamme
errors = client.insert_rows(table, df.values.tolist())

if errors == []:
    print("New rows have been added.")

Unter der Annahme, dass die Datenflamme in df enthalten ist, ist es möglich, in das zweidimensionale Array der folgenden Liste zu wechseln

df.values.tolist()

Wenn Sie Daten mit mehr als 10.000 Zeilen einfügen möchten, teilen Sie diese wie folgt auf.

rows = len(df)
count = 0
while rows > 0:
  client.insert_rows(table, df[(count * 10000): ((count+1) * 10000)].values.tolist())
  rows = rows - 10000
  count = count + 1

Es gibt vielleicht eine bessere Möglichkeit, es zu schreiben, aber es ist möglich, alles hinzuzufügen, auch wenn es größer als 10000 oben ist.

Recommended Posts

So arbeiten Sie mit BigQuery in Python
So betreiben Sie die Zeitstempelstation in Python
Stellen Sie mit Python eine Verbindung zu BigQuery her
[REAPER] Wie man Reascript mit Python spielt
Wie man tkinter mit Python in Pyenv benutzt
Wie man in Python entwickelt
So konvertieren / wiederherstellen Sie einen String mit [] in Python
So führen Sie eine Hash-Berechnung mit Salt in Python durch
Erklären Sie ausführlich, wie Sie mit Python einen Sound erzeugen
Ich möchte mit einem Roboter in Python arbeiten.
[Arbeitseffizienz] So ändern Sie Dateinamen im Stapel mit Python
[Python] Wie man PCA mit Python macht
Python: So verwenden Sie Async mit
So sammeln Sie Bilder in Python
Erste Schritte mit Python
Wie man MySQL mit Python benutzt
So verpacken Sie C in Python
Verwendung von ChemSpider in Python
Verwendung von PubChem mit Python
So berechnen Sie das Datum mit Python
Umgang mit Japanisch mit Python
So extrahieren Sie einen Termin in Google Kalender mit Python
So melden Sie sich mit Python bei AtCoder an und senden automatisch
[Einführung in Python] Wie verwende ich eine Klasse in Python?
Versuchen Sie, sich mit Python bei qiita anzumelden
Dynamisches Definieren von Variablen in Python
So machen Sie R chartr () in Python
[Itertools.permutations] So löschen Sie eine Sequenz in Python
Wie bekomme ich Stacktrace in Python?
So zeigen Sie die neunundneunzig Tabelle in Python an
So extrahieren Sie einen Polygonbereich in Python
Wie man einen Taschentest mit Python macht
So überprüfen Sie die Version von opencv mit Python
So zeigen Sie Python-Japanisch mit Lolipop an
So wechseln Sie die Python-Version in Cloud9
So passen Sie den Bildkontrast in Python an
Verwendung von __slots__ in der Python-Klasse
So füllen Sie mit Python dynamisch Nullen aus
Wie man mit Python-Flüchen Japanisch eingibt
Verwendung regulärer Ausdrücke in Python
So zeigen Sie Hello World in Python an
Verwendung ist und == in Python
Wie schreibe ich Ruby to_s in Python
So installieren Sie Python3 mit Docker Centos
Wie man mit Python-Installationsfehlern in pyenv umgeht (BUILD FAILED)
So verwenden Sie Python in Pyenv unter MacOS mit PyCall
Anzeigen von Legendenmarkierungen in einem mit Python 2D-Plot
So berechnen Sie "xx time" in einem Schuss mit Python timedelta
So installieren Sie Python
So installieren Sie Python
Wie Taple funktioniert | Python
Hochladen mit Heroku, Flask, Python, Git (4)
Umgang mit Speicherlecks in matplotlib.pyplot
Verwendung der C-Bibliothek in Python
Lesen einer CSV-Datei mit Python 2/3
So empfangen Sie Befehlszeilenargumente in Python
Wie man Spaß am Programmieren mit Minecraft hat (Ruby, Python)