始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Create a connection to AlloyDB
/ 30
Set IAM permissions for the connection service account
/ 30
Running a federated query from BigQuery
/ 40
BigQuery 連携クエリ このラボでは、連携クエリの機能を扱います。連携クエリを使用すると、BigQuery 内から運用データベースを直接クエリして、リアルタイムで分析情報を取得できます。BigQuery を AlloyDB for PostgreSQL データベースに接続する方法を学びます。これにより、複雑で時間のかかる ETL パイプラインを必要とせずに、過去の分析データとライブのトランザクション データを結合できます。この実践的演習では、最新のデータ レイクハウスの重要な機能である、異種システム間でデータを統合して包括的な分析を可能にする機能について説明します。
まず、ウェブ ログ データを含むサンプル AlloyDB インスタンスに安全にリンクする外部接続を BigQuery で構成します。次に、作成した接続に、AlloyDB をクエリする権限を付与します。最後に、EXTERNAL_QUERY 関数を使用して SQL クエリを作成します。この強力な関数を使用すると、AlloyDB データベースに対してクエリを実行し、その結果を BigQuery 環境内の一時テーブルとして扱うことができます。
主なタスクは、BigQuery にネイティブに保存されている顧客データセットと、AlloyDB のライブ ウェブ ログ データを結合する単一の連携クエリを作成することです。このテクニックを習得すると、深い履歴コンテキストと即時の運用上の認識を組み合わせた、高度なリアルタイムのユースケースを実現できます。たとえば、Cymbal E-commerce はこのアプローチを使用して、「過去に最も多く購入した顧客は、ウェブサイトで何を見ていたか?」というビジネス上の疑問への答えを得ることができます。
EXTERNAL_QUERY SQL 関数を使用してクエリを作成するこちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ご自身でラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
これは、このラボの間だけ有効な一時的なアカウントです。以下の点に注意してください。
Google Cloud コンソールの上部の検索バーに「BigQuery Connection API」と入力します。
検索結果の [BigQuery Connection API] をクリックします。
API が有効になっていない場合は、[有効にする] をクリックして有効にします。
このタスクでは、BigQuery で使用する AlloyDB への新しい接続を作成します。
Google Cloud コンソールのナビゲーション メニュー()で、[BigQuery] > [Studio] に移動します。
[エクスプローラ] で、[+ データを追加] をクリックします。
左側のフライアウトの [データソースのタイプ] で、[データベース] を選択します。
[特徴量データソース] のフライアウトの右側にある [Google Cloud AlloyDB] のカードをクリックします。
表示されたカードの中から [BigQuery フェデレーション] をクリックします。
[外部データソース] の入力画面で、次の値を使用します。
| プロパティ | 値 |
|---|---|
| 接続タイプ | AlloyDB |
| 接続 ID | |
| ロケーション タイプ | リージョン |
| リージョン | |
| わかりやすい名前 | 空白のまま |
| 説明 | 空白のまま |
| 暗号化 | デフォルト |
| ユーザー名 | |
| パスワード | |
| データベース | |
| AlloyDB インスタンス |
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
AlloyDB のデータにアクセスするには、接続時に自動的に作成されたサービス アカウントに AlloyDB へのアクセス権を付与する必要があります。
BigQuery の従来のエクスプローラ パネルで、ラボのプロジェクト ID のエントリを開きます。
次に、[接続] エントリを開きます。
先ほど作成したエントリをクリックします。接続の詳細が右側のメインパネルに表示されます。サービス アカウント ID に表示されるエントリをコピーします。たとえば、次のように表示されます: service-164632061610@gcp-sa-bigqueryconnection.iam.gserviceaccount.com
ナビゲーション メニューで [IAM と管理] を選択し、フライアウト サブメニューで [IAM] を選択します。
[+ アクセスを許可] をクリックします。
[新しいプリンシパル] に、ステップ 3 でコピーした、リンクされたサービス アカウント ID を貼り付けます。
[ロールを選択] プルダウンをクリックします。表示された [フィルタ] 領域に「AlloyDB」と入力します。[AlloyDB クライアント] が見つかるまでスクロールして選択します。
[別のロールを追加] をクリックします。
新しい [ロールを選択] プルダウンをクリックします。表示された [フィルタ] 領域に「BigQuery」と入力します。[BigQuery Connection ユーザー] が表示されるまでスクロールして選択します。
画面下部にある [保存] ボックスをクリックします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このタスクでは、BigQuery の Cymbal の顧客情報と、これに対応する AlloyDB のウェブログ情報を組み合わせたクエリを実行します。
Google Cloud コンソールのナビゲーション メニュー()で、[BigQuery] > [Studio] に移動します。
BigQuery の従来のエクスプローラ パネルで、ラボのプロジェクト ID のエントリを開きます。
次に、[接続] エントリを開きます。
作成した接続の右にあるその他アイコンをクリックします。クエリを選択します
クエリの EXTERNAL_QUERY 部分の SELECT ステートメントを次のコードに置き換えて、クエリを更新します。クエリ全体を置き換えるのではなく、EXTERNAL_QUERY ブロック内の " " マークで囲まれた部分のみを置き換えます。
[実行] をクリックします。BigQuery を使用しているにもかかわらず、返されるデータは AlloyDB のものです。
次に、クエリを拡張して、BigQuery ネイティブ テーブルのデータと AlloyDB のデータを結合します。
現在のクエリを次のコードに置き換えます。
[実行] をクリックします。返されたデータは、AlloyDB のデータと BigQuery のデータを組み合わせたものです。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
BigQuery が AlloyDB に保存されたデータにアクセスして処理できるように、BigQuery の外部接続を設定して使用しました。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください