コンテンツにスキップ

Google BigQuery

ノード上のデータを、Google BigQuery のテーブルに書き込みます。

データが大きいときは、Hyper nehanの速い処理で書き出せます。出し先を選ぶ一覧でも、この出し先には印が付きます。

ダイアログ内設定項目

接続情報必須
Google BigQuery の接続情報を選びます。はじめは更新日がいちばん新しいものが入っています。一覧に出るのは、自分が参照できる接続情報だけです。
データセット名必須
書き込み先のデータセットを、接続情報から読み込んだ一覧から選びます。この欄は一覧から選ぶだけです。手で打った名前や変数は入れられません。
対象のテーブル名必須
書き込み先のテーブルを、一覧から選ぶか手で入れます。ない名前を入れると新しく作られます。欄の左の印で、その名前のテーブルがもうあるかどうかが分かります。変数を差し込めます。
スキーマ
書き込み先の列名と列型を 1 列ずつ決めます。開いた時点では、nehan 上の列名と、それに近い BigQuery の型が入っています。
書き込み設定
テーブルがもうあったときにどうするかを決めます。
追記
前からあったデータはそのままで、うしろに足します。既定はこちらです。
上書き
前からあったデータを消してから書きます。

選べる列型

Google BigQuery の列型 10 種

STRING / BYTES / INTEGER / FLOAT / NUMERIC / BOOLEAN / TIMESTAMP / DATE / TIME / DATETIME

エラーと対処

どのエラーも、直すのは「設定の編集」ダイアログか接続情報の画面です。

データセット名が空

データセットを選ばずに実行したときに出ます。

設定の編集で、出力先のデータセット名を選択してください。

直し方 — 接続情報を選び直すと一覧が読み込まれるので、そこから選びます。

テーブル名が空

テーブル名を入れずに実行したときに出ます。

設定の編集で、出力先のテーブル名を入力してください。

直し方 — 書き込み先のテーブル名を入れます。

相手のテーブルと形が合わない

「追記」で、相手のテーブルの列の並びや型が、スキーマで決めたものと違うときに出ます。

出力データとBigQueryのテーブルのスキーマが一致しません。

直し方 — スキーマの列名と型を、相手のテーブルに合わせます。合わせられないときは「上書き」にして作り直します。

スキーマの列数とデータの列数が合わない

同じ文が、相手のテーブルとは関係なく出ることもあります。 スキーマを決めたあとで手前のノードを直し、列が増えたり減ったりしたときです。書き込み設定が「追記」でも「上書き」でも出ます。

出力データとBigQueryのテーブルのスキーマが一致しません。

直し方 — 「設定の編集」を開き直します。開いた時点で、いまのデータの列でスキーマが作り直されます。

列名に使えない字がある

列名に、BigQuery が受け取れない字が入っているときに出ます。

スキーマ名が不正です。アルファベット、数値、アンダースコア(_)のみ利用可能です。また、アルファベットかアンダースコアから始まり、128文字以内です。

直し方 — スキーマの列名を、英数字とアンダースコアだけに書き換えます。先頭を数字にはできません。

書き込む権限がない

BigQuery 側でそのデータセットへの書き込みを許されていないときに出ます。

エクスポートでエラーが発生しました。BigQueryでの権限エラーの可能性があります。

直し方 — GCP 側で、サービスアカウントにデータセットへの書き込みを許します。

サービスアカウントキーの形がおかしい

接続情報に貼った JSON が読めないときに出ます。

接続情報が不正です。アクセスキー内のprivate_keyが「“」で囲まれているかなど、JSONの書式を確認してください。

直し方 — GCP コンソールから落とした JSON を、そのまま貼り直します。

サービスアカウントの中身が足りない

JSON としては読めるが、認証に使う項目が足りないときに出ます。

接続情報が不正です。サービスアカウントJSONのフォーマットに誤りがあります。GCPコンソールからダウンロードしたJSONの内容を正しく貼り付けているか確認してください。

直し方 — 一部だけを貼っていないか確かめ、JSON を丸ごと貼り直します。

変数が見つからない

名前に $ で変数を書いたが、その名前の変数がないときに出ます。

変数: 対象日が設定されていないため処理を中断しました。

直し方 — 変数の名前を見直すか、プロジェクトに変数を追加します。$ で始めて書いた語は、すべて変数として扱われます。

関連