Tips

CSVファイルをCloudStorageからBigQueryにデータ移行してみた

こんにちは!KU.AKIです。
皆さんは、CloudStorageからBigQueryにデータ移行したいと思ったことありませんか?(私はあります)
今回は、CSV形式をCloudStorageからBigQueryにデータ移行し、テーブルを作成する機会があったので、 移行方法をまとめてみました。

データ確認

今回は、Sample_data.csvという以下のファイルを準備します。

確認ポイント
 ・先頭行にカラム行があるか?
 ・カラム順を把握する(氏名、年齢、出身、部活)

Cloud Storageに格納されているところからのスタートです。

データ移行方法

データ移行には、2種類の方法があります。

・ BigQueryのアクションを使用
・ CloudShellによるコマンド処理を使用

BigQueryのアクションを使用

BigQueryのアクションによるテーブル作成は以下の通りです。

① 作成したいデータセットの縦3点リーダから、「テーブルを作成」を選択する

② 参照元と出力先を指定する

カラム順にフィールド名と種類を記載する

*カラム名が日本語の場合、以下の点に気を付ける
 ・スキーマの自動検出は使えないため、手動でフィールドを追加する必要がある
 ・カラム順を間違えると、カラムとデータがずれる

④ ヘッダーがある場合、詳細オプションのスキップするヘッダー行を「」とする

 

 

 

 

⑤ 「テーブルを作成」を選択すると、BigQueryにテーブルが作成される

Cloud Shellによるコマンド処理を使用

アクションによるボタン操作が面倒な方は、CloudShellのコマンドでワンタッチで
BQテーブルを作成しましょう。

bq load \
      --source_format=CSV \
      --schema="氏名:STRING,年齢:INTEGER,出身:STRING,部活:STRING" \
      --skip_leading_rows=1 PRJECT_ID:DATASET_ID.Sample_data \
      gs://GCS_PATH/Sample_data.csv

「Current status: DONE」と表示されると、BigQueryにてテーブルが作成される。

★確認ポイント
・記載順がファイルのカラム順と合っているか?

まとめ

日本語カラムが入っていると面倒ですが、上手く使いこなせるようになると分かりやすいテーブルになりそうですね
ここまで読んでくださりありがとうございました。

KU.AKI
データアナリスト
データ分析・AIの専門家集団 GRI