[BigQuery]failed with error INVALID_ARGUMENT: Bad int64 value
毎日スケジュールしている、BigQuery集計クエリでエラーが発生した
failed with error INVALID_ARGUMENT: Bad int64 value: NULL
int64へのCASTで失敗している。
対象コードは以下
CREATE TEMPORARY FUNCTION
getValue()
...
return value ? value : 'NULL';
}
CAST(getValue() AS INT64) AS user_id FROM ~~~
getValue で valueを取り出すが、無理だった場合に 'NULL' を返す仕様。
文字列の 'NULL' は、 INT64 にCASTできないためエラーになっている。
SELECT CAST(NULL, AS INT64) FROM ~~~
-> 通る
SELECT CAST('NULL', AS INT64) FROM ~~~
-> エラー
-> Could not cast literal "NULL" to type INT64
文字列ではないNULLに変えてあげればOKだと思い変更したが、エラー。
CREATE TEMPORARY FUNCTION
getValue()
...
return value ? value : NULL;
}
-> Uncaught ReferenceError: NULL is not defined
TEMPORARY FUNCTION
は、Javascriptで動いている。
Javascriptでは、 NULL は変数名とみなして null でヌルの挙動をする
最終的に以下で修正。再集計完了。
CREATE TEMPORARY FUNCTION
getValue()
...
return value ? value : null;
}
Author And Source
この問題について([BigQuery]failed with error INVALID_ARGUMENT: Bad int64 value), 我々は、より多くの情報をここで見つけました https://qiita.com/mikene_koko/items/5bc5e55a71c49f2b3831著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .