始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Set up the Cloud Storage bucket
/ 40
Clone the Dataflow Job
/ 30
Set up a streaming architecture on GCP
/ 30
このラボでは、SingleStoreDB をデプロイし、Pub/Sub、Dataflow、Cloud Storage など、Google Cloud のクラウドネイティブ プロダクトと組み合わせて使用する実践的な経験を積むことができます。各プロダクトの機能を実演するため、ニューヨーク市のタクシーに関する一般公開データセットを使って実習を行います。
ラボの流れとしては、まずローカルマシンのブラウザから SingleStoreDB をデプロイし、適切なスキーマを作成します。次に Dataflow を活用して、Pub/Sub でデータをリアルタイムで Cloud Storage に push します。オブジェクト ストレージで生成および保存されたデータは、SingleStoreDB のネイティブ パイプラインを通じて消費されます。SingleStoreDB にデータが取り込まれると、クエリを実行して SingleStore を操作できるようになります。
このラボでは、次のタスクの実行方法について学びます。
前提条件
SingleStore からの確認メールを受信できる個人用メール アカウントにアクセスできる必要があります。ラボの実習中に確認コードを受信するのですが、これには個人用のメール アカウントが必要になります。
ある程度 Google Cloud と SingleStore の知識があると役立ちますが、必須ではありません。
こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 左側の [ラボの詳細] ペインには、以下が表示されます。
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
[ラボの詳細] ペインでもユーザー名を確認できます。
[次へ] をクリックします。
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
[ラボの詳細] ペインでもパスワードを確認できます。
[次へ] をクリックします。
その後次のように進みます。
その後、このタブで Google Cloud コンソールが開きます。
事前にシークレット ウィンドウで Google Cloud コンソールにログインしておく必要があります。
左上の [+ Create New] をクリックし、[Deployment] を選択します。
[Create Workspace] ページで、次のように設定を構成します。
構成は次のようになります。
[Next] をクリックします。
[Workspace Details] ページでデフォルトの設定を変えずに [Create Workspace] をクリックします。
ワークスペースが起動するまで数分待ちます。サンプルのデータベースが生成されますが、このラボでは使用しません。
SingleStore ワークスペースに接続する前に、Google Cloud コンソールに戻ります。
コンソールの右上にある Cloud Shell をアクティブにするアイコン()をクリックして、新しい Cloud Shell ウィンドウを開きます。プロンプトが表示されたら、[Continue]、[Authorize] の順にクリックします。
Cloud Shell で次のコマンドを実行し、GitHub リポジトリのクローンを作成して、ワークショップで使用するコードをダウンロードします。
[Connect to Workspace] ページで、まず生成されたパスワードをコピーします。パスワードの横にコピーアイコンがあります。このパスワードはラボの後半で必要になるため、ローカル ファイルに保存しておくことをおすすめします。
MySQL コマンドの右にあるコピーアイコンをクリックします。これにより、コマンドがクリップボードにコピーされます。
MySQL コマンドは、mysql -u admin -h svc-b675ae2f-b129-4baf-86ca-0a03c2c31d19-dml.gcp-virginia-1.svc.singlestore.com -P 3306 --default-auth=mysql_native_password --password のようになります。
Google Cloud コンソールと Cloud Shell インスタンスに戻ります。
MySQL コマンドをターミナルに貼り付けます。
プロンプトが表示されたら、先ほどコピーしたパスワードを入力します。mysql> プロンプトが表示されます。
このセクションでは、テーブル スキーマを構築します。
次の DDL を使用して、nyc_taxi という名前の新しいデータベースを作成します。
出力は次のようになります。
出力:
スキーマが作成され、データベース テーブルが一覧表示されました。
このクエリの出力は「Empty set」または「0」になります。これは、スキーマのみを作成し、テーブルが空であるためです。
ここまでの作業では、SingleStore Database を作成して接続しました。スキーマも設定しましたが、まだデータはロードされていません。
時間に余裕があれば、SingleStore のさまざまな機能を自由に試してみてください。
本日のラボでは、ニューヨーク市のタクシーに関するデータを使用します。このデータは、BigQuery の一般公開データセットまたは NYC Open Data ウェブサイトで確認できます。
このデータは事前に Cloud Storage バケットに保存されているため、Google Cloud にダウンロード / インポートする必要はありません。いつでも自由に探索できます。
NYC Open Data のウェブサイトでは、タクシー、教育、警察のデータなど、ニューヨーク市に関連するデータセットを無料で提供しています。
このラボでは、ニューヨーク市都市計画局の近隣集計エリア(NTA)を使用します。NTA によって、ニューヨーク市内のおおよそのゾーンや近隣地域に関する情報が提供されます。このデータをニューヨーク市のタクシーに関するデータと組み合わせることで、乗客の乗車場所と降車場所を確認できます。
また、ウェブサイトでは、データを近隣地域ごとに可視化できます。
Google Cloud でリソースを設定する主な方法は、GUI と CLI の 2 種類です。このラボでは、CLI を使用してバケットを作成し、NYC Open Data ウェブサイトからタクシーに関する最新の近隣データを取得します。
プロンプトが表示されたら、[承認] をクリックします。
なお、プロジェクトにはすでに別のバケットが作成されていますが、このバケットは Dataflow のステージング / 一時ストレージ用なので、心配する必要はありません。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
Pub/Sub と Dataflow のリソースは、プロジェクトに事前設定されています。これらを表示するには、Cloud コンソールの上部にある検索ボックスを使用して、それぞれ Pub/Sub または Dataflow を検索します。
ジョブをクリックし、このジョブをそのまま実行できるよう [クローン] をクリックします。名前を変更し、ジョブ情報を確認します(クローン作成時に事前入力されています)。ジョブ名を変更することで、実行中のジョブを判別しやすくなります。下にスクロールして [ジョブを実行] をクリックします。
[Dataflow ジョブ] に戻り、ジョブのステータスが「running」であることを確認します。
これで、ライブ データ ストリーミングをシミュレートできました。たとえば、GCS にさらにデータをアップロードして Pub/Sub で pull すると、Dataflow がそのデータをライブで移動します。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
Google Cloud の一般的なストリーミング アーキテクチャは、Pub/Sub > Dataflow > GCS で構成されます。このタスクでは、この設定を行ってから、SingleStore を GCS に接続します。
[Dataflow] に戻ります。
[テンプレートからジョブを作成] をクリックし、ジョブに「pstogcs」(PubSub to GCS)という名前を付けます。
リージョン エンドポイントとして [
Dataflow テンプレートとして、「Pub/Sub Subscription or Topic to Text Files on Cloud Storage」を選択します(多数のオプションが表示されるため、フィルタが必要になる場合があります。)
[ターゲット] で [参照] をクリックし、先ほど作成したバケット(
出力ファイル名の接頭辞は output のままにしておきます。これにより、出力ファイルを明確に識別できるようにします。
[オプションのソース パラメータ] を開きます。[入力 Pub/Sub サブスクリプション名] で、先ほどメッセージが読み込まれた Taxi-sub を選択します。入力トピックを含める必要はありません。
その他の設定はすべてデフォルトのままにして、ページの下部にある [ジョブを実行] をクリックします。
この Dataflow ジョブは、先ほど Pub/Sub で確認したメッセージを読み取り、Cloud Storage バケットにストリーミングするためのものです。
[Cloud Storage] > [バケット] に移動し、バケット
出力ファイルをクリックして、[ダウンロード] を選択します。名前、座標、時間を含むタクシーのデータが表示されます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
Cloud Shell などの統合開発環境(IDE)で Gemini Code Assist を使用して、コードに関するガイダンスを受けたり、コードの問題を解決したりできます。使用を開始する前に、Gemini Code Assist を有効にする必要があります。
左側のペインで [設定] アイコンをクリックし、[設定] ビューで「Gemini Code Assist」を検索します。
[Geminicodeassist: Enable] のチェックボックスがオンになっていることを確認し、[設定] を閉じます。
画面下部のステータスバーで [Cloud Code - No Project] をクリックします。
指示に従ってプラグインを承認します。プロジェクトが自動的に選択されない場合は、[Google Cloud プロジェクトを選択する] をクリックして
ステータスバーの Cloud Code ステータス メッセージに Google Cloud プロジェクト(
次に、このプライベート Cloud Storage バケットを SingleStore に接続するためのキーを作成する必要があります。
Cloud Storage で、[設定](ナビゲーション メニュー内)に移動します。
[相互運用性] タブをクリックします。下部にある [鍵を作成] をクリックします。
次に、パイプラインを使用してデータを SingleStore に取り込み、ストアド プロシージャを開始します。
SingleStore の最初のパイプラインを次の手順で作成します。
この操作により Gemini Code Assist が有効になり、エディタの右上隅に アイコンが表示されます。
Gemini Code Assist: Smart Actions アイコン をクリックし、[この内容を説明] を選択します。
Gemini Code Assist は、「Explain this」というプロンプトが事前入力されたチャットペインを開きます。Code Assist のチャットのインライン テキスト ボックスで、事前入力されたプロンプトを次のプロンプトに置き換えて、[Send] をクリックします。
create_nyctaxi_pipelines.dml ファイルのコードの説明が Gemini Code Assist のチャットに表示されます。
.tsv を .csv に変更する。/t を , に変更する。ファイルは次のようになります。
Cloud Shell ターミナルに戻ります。MySQL コマンドを使用して SingleStore に接続します。SingleStore への接続には、先ほど使用したのと同じコマンドを使用できます。
MySQL プロンプトで、次のコマンドを実行してパイプラインを作成します。
出力は次のようになります。
出力:
出力:
レポート 1: 各近隣地域における移動回数の総数。
レポート 2: 配車のリクエストから乗車までの平均時間。
レポート 3: 移動の平均距離。
レポート 4: 乗車から降車までの平均時間。
レポート 5: 移動にかかった平均費用。
レポート 6: ドライバーが配車を受諾してから乗客のところに到着するまでの平均時間。
レポート 7: 1 回の乗車あたりの平均乗車人数。
これで完了です。このラボでは、SingleStoreDB をデプロイし、Pub/Sub、Dataflow、Cloud Storage などの Google Cloud のクラウドネイティブ プロダクトと組み合わせて使用しました。また、SingleStoreDB のネイティブ パイプラインを使用して、Cloud Storage からデータを取り込み、運用分析クエリを実行しました。
SingleStore の詳細については、SingleStore.com をご覧ください。
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2025 年 9 月 4 日
ラボの最終テスト日: 2025 年 9 月 4 日
Copyright 2025 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください