BigQuery:BigQueryへローカルから大容量のファイルをインポートする方法 | VizHacker

BigQuery:BigQueryへローカルから大容量のファイルをインポートする方法

今回はBigQuery周りの小ネタです。

私は、業務以外のところでもBigQueryを使っているんですが基本はローカル→BiqQueryにぶん回したいデータをインポート、しています。

そこで今回は、大容量のファイルをBiqQueryにローカルからインポートする方法をご紹介します。

 

BigQueryに直接アップロードする

ローカルからBigQeuryにファイルをアップロードするのは簡単です。

ぶち込みたいデータセット画面の「テーブルを作成」を選択後、以下のように進めます。

ファイルはCSVの他にも、JSON、Avro、Parquest、ORCが選択可能です。

スキーマは一つ一つ入力するのが面倒なので、「自動検出」にしておきましょう。

あとは、テーブル名を入力して左下の「テーブル作成」でインポート完了です。

シンプルですね。

容量が大きいデータの時は注意が必要

アップロードする際、データ容量が10MBを超える際は直接アップロードが出来ません。

なのでGoogle Cloud Strageを仲介する必要があります。

①GCSにフォルダをアップロードする

GCPの右メニューから「ストレージ」を選択後、「パケットを作成」を選択。

任意のバケット名を入力後、場所(Location)を選択し「作成」を選択。バケットが作成されます。

なお、この「場所」項目はちょこっと注意が必要です。

GCS→BigQueryからデータを流す時、GCSのバケットとBigQuery上のデータセットのロケーションは同じ必要があります。

なので両者のロケーションは統一しておきましょう。バラバラだと、インポート時にエラーになります。

②GCSにファイルをアップロード

バケットが出来たら、BigQueryに流し込みたいファイルをアップロードします。

方法は一瞬で、「ファイルをアップロード」からローカル上のフォルダを選択します。

③BigQueryに流し込む

あとはテーブルを作る時を同じ手順です。

ソースは「Google Cloud Strage」を選択し、②で作成したバケットと対象のファイルを選択します。

そして、「テーブルを作成」を選択すると・・・

無事テーブルが作成されました。

サイズが2.5GBと大きくてもちゃんとアップロードされていますね。

以上です。

 

本サイトではリクエスト募集しています。