Ich habe eine Reihe von IDs (~ 200k) und ich muss alle Zeilen in einer BigQuery-Tabelle mit diesen IDs abrufen. Ich habe versucht, eine Liste in Python zu konstruieren und übergeben sie als Parameter an die SQL-Abfrage mit @
, aber ich bekomme TypeError: 'ArrayQueryParameter' object is not iterable
Fehler. Hier ist der Code Ich habe versucht (sehr ähnlich https://cloud.google.com/bigquery/querying-data#running_parameterized_queries):Übergabe von Array-Parameter an SQL für BigQuery in Python
id_list = ['id1', 'id2']
query = """
SELECT id
FROM `my-db`
WHERE id in UNNEST(@ids)
"""
query_job = client.run_async_query(
str(uuid.uuid4()),
query,
query_parameters=(
bigquery.ArrayQueryParameter('ids', 'ARRAY<STRING>', id_list)
)
)
Arbeitete wie ein Zauber :) Ich kann nicht glauben, dass ich zwei Tage damit verbracht habe! Danke, Will. – thn