2017-03-07 10 views
0

ローカルAPIとGoogle BigQueryを照会するためのスクリプトをまとめました.pandas.io.gbqを使用してBigQueryにクエリを渡してから、パンダに戻しますデータフレーム。例えば。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

これは、コマンドラインから使用しているものとは異なるバージョンのpandasを使用しているようです。 dialectのオプションはread_gbqで、added in version 0.19.0でした。 cronジョブでバージョン番号を印刷し、0.19.0より小さい場合は、より新しいバージョンを使用するようにジョブを変更することをお勧めします。

+0

これは本当に問題でした。cronは私のマシンでPythonの基本インストールを使用していましたが、アップグレード版のpandasは使用していませんでした。 facepalmの瞬間ですが、それは今のようにすべて機能しています。 –

関連する問題