从cron作业运行pandas.io.gbq

时间:2017-03-07 11:16:55

标签: python pandas cron google-bigquery

我已经整理了一个脚本来查询本地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'

这是身份验证问题还是其他问题?

1 个答案:

答案 0 :(得分:1)

听起来cron作业使用的是pandas的不同版本,而不是命令行使用的版本。 dialect的{​​{1}}选项为added in version 0.19.0。您可能想尝试让您的cron作业打印版本号 - 如果它小于0.19.0 - 更改作业以使用更新版本。