中野智文のブログ

データ・マエショリスト(※データ・マエストロではない)のメモ

Permission denied while globbing file pattern. のエラー

症状

BigQuery のWebコンソールでは特にエラーは出ないのに、redash だと Error running query: The job encountered an internal error during execution and was unable to complete successfully. みたいなエラー。

調査

コマンドコンソールにて同クエリーを実行。 すると、

Permission denied while globbing file pattern. 

のエラー。 そのエラーのクエリをヒストリから選び、Open Query から RUN QUERY を再実行するも、正常に返ってくる。

Webで調べてみると、google drive がらみの権限エラーの模様。

stackoverflow.com

Google Driveは全く使っていないが、たしかに 直接インポート した。

インポートしたテーブルを外すと、コマンドからでも正常にクエリは実行された。

該当テーブルの detail をwebコンソールから見ると、

External Data Configuration
Source URI(s)   https://docs.google.com/spreadsheets/d/XXXXXXXXXXXXX/edit#gid=0
Auto-detect Schema  true
Source Format   GOOGLE_SHEETS
Max Bad Records     10

となっており、たしかに外部から持ってきたデータであることと、source format も GOOGLE_SHEETS となっている。

対応

原因が分かったが、対応方法は不明。

まず、bq コマンドによりコピーを試みるが、当然失敗した。

次に、

SELECT * FROM [TABLE_NAME]

を実行し、その結果を別テーブルに保管した。そしてそのテーブルを参照するようにすると、bq コマンドで問題なくクエリは実行できた。 redashも問題なく動作した。