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と大きくてもちゃんとアップロードされていますね。
以上です。