コンテンツにスキップ

Google Cloud Storage

ノード上のデータを、Google Cloud Storage(GCS)のバケットにファイルとして置きます。csv と parquet のどちらかを選べます。

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

ダイアログ内設定項目

接続情報必須
GCS の接続情報を選びます。はじめは更新日がいちばん新しいものが入っています。一覧に出るのは、自分が参照できる接続情報だけです。
バケット名必須
置き先のバケットの名前だけを入れます。gs://nehan/node_log/2022-01-01.csv に置きたいなら nehan です。変数を差し込めます。
ファイル名必須
バケット名から後ろを、拡張子を除いて入れます。gs://nehan/node_log/2022-01-01.csv に置きたいなら node_log/2022-01-01 です。拡張子は nehan が付けます。同じ名前のファイルがあると上書きします。変数を差し込めます。
ファイルタイプ
csv(既定)か parquet を選びます。parquet形式は小さくて読み込みが速いので、大きなデータに向きます。
クオーティングを選択
ファイルタイプが csv のときだけ出ます。値を ” で囲むかどうかを決めます。既定はデフォルトです。
圧縮タイプ
ファイルタイプが parquet のときだけ出ます。snappy(既定)/ gzip / なし から選びます。

置かれるファイルの名前

入力したファイル名のうしろに、nehan が拡張子を足します。

ファイルタイプ圧縮タイプファイル名に node_log/data と入れたとき
csv(出ません)node_log/data.csv が 1 本
parquetsnappynode_log/data.0.snappy.parquet、node_log/data.1.snappy.parquet…
parquetgzipnode_log/data.0.gz.parquet、node_log/data.1.gz.parquet…
parquetなしnode_log/data.0.parquet、node_log/data.1.parquet…
クオーティングの 4 つの違い

次の 1 行を書き出したときの、ファイルの中身の違いです。性別と年齢 の値にカンマが入っているところを見てください。

ID性別と年齢都道府県
1男,20代東京

デフォルト — 区切りのカンマや改行が入っている値だけを " で囲みます。

ID,性別と年齢,都道府県
1,"男,20代",東京

すべて — 見出しも値も、全部 " で囲みます。

"ID","性別と年齢","都道府県"
"1","男,20代","東京"

数値以外 — 数値でないものだけを " で囲みます。

"ID","性別と年齢","都道府県"
1,"男,20代","東京"

なし — どれも囲みません。

ID,性別と年齢,都道府県
1,男,20代,東京

エラーと対処

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

バケット名が空

バケット名を入れずに実行したときに出ます。

設定の編集で、出力先のバケット名を入力してください。

直し方 — バケットの名前だけを入れます。

ファイル名が空

ファイル名を入れずに実行したときに出ます。

設定の編集で、出力先のファイル名を入力してください。

直し方 — バケット名から後ろを入れます。

ファイル名が / で終わっている

ファイル名の末尾が / になっているときに出ます。

ファイル名の末尾に/は使用できません。

直し方 — 末尾の / を消して、ファイルの名前まで書きます。

バケットがない

入力した名前のバケットが見つからないときに出ます。

指定されたバケットが存在しません。

直し方 — バケット名の綴りと、サービスアカウントがそのバケットを見られるかを確かめます。

バケットを見る権限がない

バケットはあるが、サービスアカウントに権限がないときに出ます。

アクセスが拒否されました。アクセス権限をご確認ください。

直し方 — GCP 側で、そのサービスアカウントにバケットへの読み書きを許します。

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

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

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

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

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

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

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

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

サービスアカウントキーが失効している

形は正しいが、キーが期限切れか無効になっているときに出ます。

接続情報が不正です。サービスアカウントキーの認証に失敗しました。サービスアカウントキーが期限切れまたは無効になっている可能性があります。GCPコンソールで確認してください。

直し方 — GCP コンソールでキーを作り直し、接続情報に貼り直します。

アップロードで止まった

上のどれにも当てはまらない理由で、置けなかったときに出ます。

アップロード中にエラーが発生しました。: 403 Forbidden

直し方 — コロンの後ろに出ている理由を見ます。権限の話であれば、GCP 側で書き込みを許します。

変数が見つからない

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

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

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

関連