小编thn*_*thn的帖子

在 Python 中为 BigQuery 将数组参数传递给 SQL

我有一组 ID(~200k),我需要使用这些 ID 获取 BigQuery 表中的所有行。我试图在 python 中构造一个列表并将它作为参数传递给 SQL 查询,@但我得到TypeError: 'ArrayQueryParameter' object is not iterable错误。这是我尝试过的代码(与https://cloud.google.com/bigquery/querying-data#running_parameterized_queries非常相似):

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)
    )
)
Run Code Online (Sandbox Code Playgroud)

python sql google-bigquery

1
推荐指数
1
解决办法
4136
查看次数

标签 统计

google-bigquery ×1

python ×1

sql ×1