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 本 |
| parquet | snappy | node_log/data.0.snappy.parquet、node_log/data.1.snappy.parquet… |
| parquet | gzip | node_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 側で書き込みを許します。
変数が見つからない
名前に $ で変数を書いたが、その名前の変数がないときに出ます。
変数: 対象日が設定されていないため処理を中断しました。
直し方 — 変数の名前を見直すか、プロジェクトに変数を追加します。$ で始めて書いた語は、すべて変数として扱われます。