【问题标题】:Running pandas.io.gbq from a cron job从 cron 作业运行 pandas.io.gbq
【发布时间】:2017-03-07 11:16:55
【问题描述】:

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

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

【问题讨论】:

    标签: python pandas cron google-bigquery


    【解决方案1】:

    听起来 cron 作业使用的 pandas 版本与您在命令行中使用的版本不同。 read_gbqdialect 选项是 added in version 0.19.0。您可能想尝试让您的 cron 作业打印版本号,并且 - 如果它小于 0.19.0 - 将作业更改为使用更新的版本。

    【讨论】:

    • 确实是问题所在:cron 在我的机器上使用的是 Python 的基本安装,而不是带有升级版 pandas 的版本。面对面的时刻,但现在一切正常。
    猜你喜欢
    • 2016-03-19
    • 2011-11-29
    • 2012-06-19
    • 1970-01-01
    • 2013-07-02
    • 2014-11-02
    • 1970-01-01
    相关资源
    最近更新 更多