我已经整理了一个脚本来查询本地API以及Google BigQuery,我使用pandas.io.gbq将查询传递给BigQuery并将它们返回到pandas数据帧。例如。
raw_page_id_date = gbq.read_gbq(query, project_id=project_id, dialect='standard')
gbq.to_gbq(raw_page_id_date, destination_table='ohalloranb.raw_page_id_date', project_id='tmg-data-science-dev', verbose=True, reauth=False, if_exists='replace', private_key=None)
当我从命令行运行脚本时,脚本正确运行 - 它查询API和BigQuery并按预期转储输出。但是,当我尝试将其作为一个cron作业运行时,我遇到了问题。第一部分 - 查询本地API运行没有问题。但是,它在遇到BigQuery查询时崩溃了:
raw_page_id_date = gbq.read_gbq(query, project_id=project_id, dialect='standard')
TypeError: read_gbq() got an unexpected keyword argument 'dialect'
这是身份验证问题还是其他问题?
答案 0 :(得分:1)
听起来cron作业使用的是pandas
的不同版本,而不是命令行使用的版本。 dialect
的{{1}}选项为added in version 0.19.0。您可能想尝试让您的cron作业打印版本号 - 如果它小于0.19.0 - 更改作业以使用更新版本。