pandas-gbq 目前支持参数化查询吗?

mra*_*rag 3 python pandas google-bigquery

我需要使用 Pandas/pandas-gbq 在 Python 中创建一个简单的 ETL 管道,将给定日期范围内的每一天从 BigQuery 读取到 Pandas 数据帧中,并根据查询结果创建单独的每日表(写回 BigQuery)。

尽管可能有更好、更有效的方法(注意:我不是软件工程师),但我目前正在研究BigQuery 中的参数化查询来参数化日期列并在 Python 的 for 循环中迭代它。

有谁知道 pandas-gbq 目前是否支持参数化查询?提前致谢。

Pal*_*diN 5

Ben P发布的答案需要对Pandas GBQ进行一些改进,因为我们收到以下错误:

GenericGBQException:原因:400 POST https://bigquery.googleapis.com/bigquery/v2/projects/my-bigquery/jobs:缺少查询参数值

重要且缺失的配置参数是:

'parameterValue': {'value': 'TX'}
Run Code Online (Sandbox Code Playgroud)

可以在使用配置文档示例运行查询中进行检查。

将查询配置放在一起我们得到:

query_config = {
    'query': {
        'parameterMode': 'NAMED',
        'queryParameters': [
            {
                'name': 'state',
                'parameterType': {'type': 'STRING'},
                'parameterValue': {'value': 'TX'}
            },
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为这将帮助我们大多数前来解决问题的人。