2017-03-07 144 views
0

我已經整理了一個腳本來查詢本地API以及Google BigQuery,在這裏我使用pandas.io.gbq將查詢傳遞給BigQuery並將它們返回給熊貓dataframes。例如。從cron作業運行pandas.io.gbq

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

聽起來像cron作業正在使用不同於您在命令行中使用的pandas版本。 read_gbqdialect選項爲added in version 0.19.0。您可能想嘗試讓您的cron作業打印版本號 - 如果它小於0.19.0,請改爲使用更新版本。

+0

這的確是問題所在:cron在我的機器上使用Python的基本安裝,而不是升級版熊貓的版本。 facepalm時刻,但它的一切工作,因爲它現在應該。 –