Google Driveと Cloud DatastoreのデータをBigQueryで使用する
3.Cloud StorageからBigQueryへデータロードする
ここまでの手順で、Cloud DatastoreからCloud Storageへのデータロードは完了しました。ここからはCloud StorageからBigQueryへのロード手順を説明します。ここまでと同様に、マウス操作とキー入力だけで行うことができます。
【Developers Console】
Developers Consoleの左ペインで「Cloud Storage」から「Storage browser」をクリックして、Bucket一覧を表示します。その中から先ほどデータロードしたBucket(「daysale150429」)をクリックすると、図16の画面が表示されます。
右ペインの一覧にある2行目の「xxxxxxx.backup_info」 はBigQueryへのデータロード時に使用するので、書き留めて(コピーして)おきます。画面上から見えるのは前半だけですが、リンクを右クリックして「リンクアドレスをコピー」を選択し、コピーをテキストファイルに張り付けると次のような文字列になっています。この中の太字部分を後で使用します。
https://console.developers.google.com/m/cloudstorage/b/daysale150429/o/
ahRzfnNvbmljLXNvbHN0aWNlLTQyMnJBCxIcX0FFX0RhdGFzdG9yZUFkbWluX09
wZXJhdGlvbhiyksUBDAsSFl9BRV9CYWNrdXBfSW5mb3JtYXRpb24YAQw.daysale.
backup_info
次に、Developers Consoleの左ペインでBig Dataの下にあるBigQueryを選択すると、図17のような画面が表示されます。
画面の左ペインでプロジェクト名(ここでは 「gcpproj」)右の「▼」をクリックすると図18のようにプルダウンメニューが表示されるので、「Create new dataset」をクリックします。
図19のCreate Dataset画面が表示されるので、BigQueryのDataset ID(daysale150429)を入力して「OK」をクリックします。Dataset IDは任意に指定できますが、ここでは分かり易いようにCloud Storageのbucketと同じ名前にします。
左ペインに、登録したdataset IDの「daysale150429」が表示されます(図20)。
次に、「daysale150429」をマウスオーバーすると右に表示される「▼」をクリックし、ブルダウンメニューから「Create new table」を選択します(図21)。
図22の「Create and import」ステップの画面が表示されます。
ここでは「skip」をクリックして、次の画面(Choose destionationフェーズ)に移ります(図23)。
Choose destinationステップでは、Cloud StorageのTable ID(任意入力ですが、ここでは「daysale150429tbl」)を入力して「Next」をクリックします。図24の画面に変わります。
Select dataフェーズでは、「App Engine Datastore Backup」を選択します。図25の画面に変わります。
gs://フィールドの入力には、Cloud Storageのバケット名と、図16の画面でコピーしたテキストを使用します。
gs://[bucket名]/[
ここでは、 bucket名に「daysale150429」、
JhdGlvbhiyksUBDAsSFl9BRV9CYWNrdXBfSW5mb3JtYXRpb24YAQw.daysale.backup_info」を入力します(画面26)。なお、実際の入力内容は下記のようになります。
gs://daysale150429/ahRzfnNvbmljLXNvbHN0aWNlLTQyMnJBCxIcX0FFX0RhdGFzdG9yZUFkbWluX09wZXJhdGlvbhiyksUBDA sSFl9BRV9CYWNrdXBfSW5mb3JtYXRpb24YAQw.daysale.backup_info
入力後、「NEXT」をクリックするとSpecify schemaステップに移ります(画面27)。
Schema(スキーマ)には、バックアップのデータソースとなっているCloud Datastoreのものが使用されます。ここでは何も操作せず、「NEXT」をクリックして図28の画面を表示します。
【BigQueryへのデータロード実行】
図28では許容されるエラー数を指定できますが、デフォルト(「0」)のまま画面下部の「Submit」をクリックするとCloud StorageからBigQueryへのデータロードが開始されます。データロード実行中は、図29のようにJobHistoryに(1running)、Dataset/Tableに「(loading)」が表示されます。
データロードが完了すると(loading)が消え、左ペインの「daysale150429tbl」をクリックするとロードされたデータのSchemaが、Schema表示画面右上の「Details」をクリックするとBigQueryにロードされたデータの詳細情報が表示されます(画面30)。これでBigQueryへのデータロード完了を確認できます。
次に、画面右上の「Query table」をクリックするとクエリー入力画面が表示されるので、下記のようにクエリー文を入力して「RUN QUERY」をクリックします。
SELECT * FROM [daysale150429.daysale150429tbl] LIMIT 1000
図31のように表示され、データのロードを確認できます。
終わりに
ここまで、今回の特別編と併せて全6回にわたってExcelデータのアップロードからBigQueryへのロードまですべての処理の流れを見てきました。BigQueryのクエリー文については触れませんでしたが、RDBのSQL文とほとんど同じなので、習得は難しくないと思います。また、拙著「Google BigQueryではじめる自前ビッグデータ処理入門」にもより実践的なクエリー文を掲載していますので、興味のある方はぜひ参照してください。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- GCP上のKey-Value型データベースCloud Datastore
- BigQueryでビッグデータを解析する
- Google AppとApp Engineの準備・設定を完了する
- AppsスプレッドシートとApp Engineのデータ交換を完成させる
- クラウドをより身近に!Google Driveを使った業務データ移行入門
- Google Compute Engineで仮想マシンを作る
- GCPのデータベースサービス Cloud SQL
- AppsのスプレッドシートデータをApp Engineから読み取る
- エンティティ所有/被所有関係とトランザクション処理
- バズワードではないDX、3大クラウドベンダーのビッグデータ分析サービス