实验设置说明和要求
保护您的账号和进度。请务必在无痕浏览器窗口中,使用实验凭证运行此实验。

在 Google Cloud 使用 SingleStore

实验 20 分钟 universal_currency_alt 7 积分 show_chart 高级
info 此实验可能会提供 AI 工具来支持您学习。
此内容尚未针对移动设备进行优化。
为获得最佳体验,请在桌面设备上访问通过电子邮件发送的链接。

GSP1096

Google Cloud 自學實驗室標誌

簡介

在這個實驗室,您會親手部署 SingleStoreDB,並搭配使用 Google Cloud 的雲端原生產品,例如 Pub/Sub、Dataflow 和 Cloud Storage。為展示這些產品功能,您會使用紐約市公開計程車資料集。

在這個實驗室,您會先透過本機瀏覽器部署 SingleStoreDB,並建立符合需求的結構定義。接著,搭配使用 Pub/Sub 與 Dataflow,將資料即時推送至 Cloud Storage。產生的資料會存放在物件儲存庫,並透過 SingleStoreDB 的原生管道使用。SingleStoreDB 擷取資料之後,您會執行查詢及使用 SingleStore。

課程內容

在這個實驗室,您會瞭解如何執行下列工作:

  • 登入並操作 Google Cloud。
  • 建立 SingleStore DB 執行個體/叢集。
  • 使用 Cloud Shell 建立連線,並在 SingleStoreDB 建立資料結構。
  • 建立 Pub/Sub 主題和訂閱項目,提取資料並推送至其他服務。
  • 建立 Dataflow 串流工作。
  • 使用 SingleStore 原生管道,從物件儲存庫載入資料。
  • 在 SingleStore 執行查詢及使用資料。

事前準備

您必須能夠存取個人電子郵件帳戶,以便回覆 SingleStore 傳送的驗證電子郵件。在這個實驗室,您需要針對驗證碼採取行動,須有個人電子郵件地址才能完成。

如果您瞭解 Google Cloud 和 SingleStore 會有幫助,不過並非必要。

設定和需求

瞭解以下事項後,再點選「Start Lab」按鈕

請詳閱以下操作說明。實驗室活動會計時,且中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。

您將在真正的雲端環境完成實作實驗室活動,而不是模擬或示範環境。為此,我們會提供新的暫時憑證,供您在實驗室活動期間登入及存取 Google Cloud。

為了順利完成這個實驗室,請先確認:

  • 可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
注意事項:請使用無痕模式 (建議選項) 或私密瀏覽視窗執行此實驗室,這可以防止個人帳戶和學員帳戶之間的衝突,避免個人帳戶產生額外費用。
  • 是時候完成實驗室活動了!別忘了,活動一旦開始將無法暫停。
注意事項:務必使用實驗室專用的學員帳戶。如果使用其他 Google Cloud 帳戶,可能會產生額外費用。

如何開始研究室及登入 Google Cloud 控制台

  1. 點選「Start Lab」按鈕。如果實驗室會產生費用,畫面上會出現選擇付款方式的對話方塊。左側的「Lab Details」窗格會顯示下列項目:

    • 「Open Google Cloud console」按鈕
    • 剩餘時間
    • 必須在這個研究室中使用的臨時憑證
    • 完成這個實驗室所需的其他資訊 (如有)
  2. 點選「Open Google Cloud console」;如果使用 Chrome 瀏覽器,也能按一下滑鼠右鍵,選取「在無痕視窗中開啟連結」

    接著,實驗室會啟動相關資源,並開啟另一個分頁,顯示「登入」頁面。

    提示:您可以在不同的視窗中並排開啟分頁。

    注意:如果頁面中顯示「選擇帳戶」對話方塊,請點選「使用其他帳戶」
  3. 如有必要,請將下方的 Username 貼到「登入」對話方塊。

    {{{user_0.username | "Username"}}}

    您也可以在「Lab Details」窗格找到 Username。

  4. 點選「下一步」

  5. 複製下方的 Password,並貼到「歡迎使用」對話方塊。

    {{{user_0.password | "Password"}}}

    您也可以在「Lab Details」窗格找到 Password。

  6. 點選「下一步」

    重要事項:請務必使用實驗室提供的憑證,而非自己的 Google Cloud 帳戶憑證。 注意:如果使用自己的 Google Cloud 帳戶來進行這個實驗室,可能會產生額外費用。
  7. 按過後續的所有頁面:

    • 接受條款及細則。
    • 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
    • 請勿申請免費試用。

Google Cloud 控制台稍後會在這個分頁開啟。

注意:如要使用 Google Cloud 產品和服務,請點選「導覽選單」,或在「搜尋」欄位輸入服務或產品名稱。「導覽選單」圖示和搜尋欄位

工作 1:啟動自己的 SingleStore 叢集

此時,您應該已在無痕視窗登入 Google Cloud 控制台。

  1. 在無痕視窗開啟另一個分頁,前往 SingleStore Portal。接著,應該會出現下列頁面:
SingleStore 登入頁面
  1. 點選「Sign up」,並輸入個人詳細資料。
  2. 在「Company email address」輸入您的個人電子郵件地址。
  3. 點選「Continue」
  4. 輸入專屬密碼,然後點選「Continue」來登入 SingleStore。
  5. 輸入個人電子郵件地址收到的驗證碼,然後點選「Submit」
  6. 勾選「Terms of Service + Privacy Policy」的核取方塊,然後點選「Continue」
  7. 在「About your project」畫面選取其中一個選項,然後點選「Next」
  8. 點選「View my Deployment」,前往 SingleStore Customer Portal。
  9. 畫面顯示「Your free starter workspace is ready!」時,點選「Start Using SingleStore」

建立工作區

  1. 點選畫面左上角的「+ Create New」,然後選取「Deployment」

  2. 在「Create Workspace」頁面,完成下列設定:

    • 在「Workspace Group Name」使用「Workshop」
    • 在「Cloud Provider」使用「GCP」
    • 在「Region」使用「US East 4 (N.Virginia)」。這應該是預設值。如果不是,請改用上述選項。

設定應會如下所示:

建立工作區的頁面

  1. 點選「Next」

  2. 在「Workspace Details」頁面保留預設設定,然後點選「Create Workspace」

請稍候幾分鐘,等待工作區啟動。系統會為您產生範例資料庫,但這個實驗室不會使用。

工作 2:連線至 SingleStore 和 Google Cloud

  1. 連線至 SingleStore 工作區之前,請先返回 Google Cloud 控制台。

  2. 點選控制台右上角的「啟用 Cloud Shell」圖示 (Cloud Shell 圖示),開啟新的 Cloud Shell 視窗。如果出現提示訊息,請依序點選「繼續」和「授權」

  3. 在 Cloud Shell 執行下列指令來複製 GitHub 存放區,下載工作坊所需的程式碼。

git clone https://github.com/mlochbihler/singlestore-gcp-looker-devday-01 cd singlestore-gcp-looker-devday-01/section_b
  1. 返回 SingleStore Portal。工作區啟動之後,點選「Connect」旁的下拉式箭頭,然後選取「CLI Client」

點選「connect directly」

  1. 在「Connect to Workspace」頁面,請先複製系統為您產生的密碼,密碼旁有「複製」圖示。建議您將密碼儲存於本機檔案,這個實驗室的後續步驟會使用。

  2. 點選「MySQL Command」右側的「複製」圖示,將指令複製到剪貼簿。

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

注意事項:您可能會在上述 MySQL 指令看見剛剛建立的密碼。只有在初次開啟視窗時會發生這種情況,之後就不會再顯示密碼,因此請務必妥善儲存。 如果因故無法連線至 SingleStore DB,前往「Access」分頁並點選「Reset」,即可重設密碼。
  1. 返回 Google Cloud 控制台和 Cloud Shell 執行個體。

  2. 將 MySQL 指令貼入終端機。

  3. 如果出現提示訊息,請輸入先前複製的密碼。接著,您會看見 mysql> 提示詞。

已連線至 MySQL

注意事項:如果部署項目不再回應 MySQL 指令,請在 SingleStore 檢查工作區狀態。設定值為閒置超過 20 分鐘就會暫停。此時,按鈕會顯示「Resume」。點選之後,應該會在幾分鐘內恢復運作。

工作 3:建立結構定義並使用 SingleStore

在這個部分,您會建立資料表結構定義。

請使用下列 DDL,建立新的資料庫 nyc_taxi

  1. 在 mysql> 提示詞執行下列程式碼:
source create_nyctaxi_tables.ddl; use nyc_taxi; show tables;

結果應會如下所示。

輸出內容:

Database changed +--------------------+ | Tables_in_nyc_taxi | +--------------------+ | avgcost | | avgdist | | avgriders | | avgridetime | | avgwait_driver | | avgwait_passenger | | drivers | | nab_nyctaxi_scored | | neighborhoods | | trips | | triptotals | | triptotalsc | +--------------------+ 12 rows in set (0.05 sec)

您已建立結構定義,並列出資料庫資料表。

  1. 執行下列指令:
select * from avgcost limit 5;

這項查詢的輸出內容為「Empty set」或「0」。這是因為您只建立了結構定義,資料表沒有內容。

請在這裡暫停一下,您已成功建立並連線至 SingleStore 資料庫。結構定義設定完畢,不過目前沒有資料。

如果時間允許,您可以探索一下 SingleStore!

工作 4:探索實驗室中的資料 (非強制)

在這次的實驗室,您會使用紐約市計程車資料,這項資料位於 BigQuery 公開資料集或 NYC Open Data 網站。

我們已預先為您將這項資料存放於 Cloud Storage bucket,因此不需要下載/匯入 Google Cloud。如有興趣,您可以探索這項資料。

NYC Open Data 網站提供有關紐約市的免付費資料集,包括計程車、教育、警察資料等。

在這個實驗室,您會使用紐約市城市規劃局 (NYC Department of City Planning) 的社區區域資料表 (Neighborhood Tabulation Areas),內含紐約市大致區域和社區的資訊。您會結合這項資料與紐約市計程車資料,分析乘客的上下車地點。

在該網站,您可以按照社區以圖表呈現資料:

NTA 地圖

工作 5:設定 Cloud Storage bucket

  1. 開始這個部分之前,請點選「+」按鈕,開啟新的 Cloud Shell 終端機分頁:
Cloud Shell 工具列中醒目顯示的「新增」按鈕。


在 Google Cloud,您主要可以透過兩種方式設定資源:GUI 和 CLI。在這個實驗室,您會使用 CLI 建立 bucket,並從紐約市計程車網站取得最新的社區資料。

  1. 請複製並執行下列指令,建立專屬的 bucket,然後將公開 bucket 中的資料匯入自己的 bucket:
gcloud storage buckets create gs://$GOOGLE_CLOUD_PROJECT --location={{{ project_0.default_region | "REGION" }}} gcloud storage cp -r gs://configuring-singlestore-on-gcp/drivers gs://$GOOGLE_CLOUD_PROJECT gcloud storage cp -r gs://configuring-singlestore-on-gcp/trips gs://$GOOGLE_CLOUD_PROJECT gcloud storage cp gs://configuring-singlestore-on-gcp/neighborhoods.csv gs://$GOOGLE_CLOUD_PROJECT

如果出現提示訊息,請點選「授權」

請注意,專案中已建有另一個 bucket。這個 bucket 是 Dataflow 的暫存/臨時儲存位置,請不用擔心。

  1. 依序前往「Cloud Storage」>「bucket」找到您的 bucket (),並確認內含 2 個資料夾和 1 個 CSV 檔案,如下所示:

「物件」分頁式頁面,內含兩個資料夾:drivers 和 trips。

點選「Check my progress」,確認目標已達成。 設定 Cloud Storage bucket

工作 6:設定 Pub/Sub 和 Dataflow 串流工作

專案已預先填入 Pub/Sub 和 Dataflow 資源。請使用 Cloud 控制台頂端的搜尋框,分別搜尋 Pub/SubDataflow 來查看。

  1. Pub/Sub 來說,請執行下列操作:
  • 檢查是否有「Taxi」主題
  • 確認是否有「Taxi-sub」訂閱項目
  1. Dataflow 來說,請執行下列操作:
  • 檢查是否有「GCStoPS」工作,而且狀態為「失敗」
  1. 依序點選工作和「複製」,執行這項工作。重新命名並檢查工作資訊 (複製工作時即已預先填入),確保您瞭解要執行的內容。向下捲動並點選「執行工作」

  2. 返回「Dataflow 工作」,確認工作狀態為「執行中」。

注意事項:Dataflow 工作應該會在 5 至 7 分鐘內開始串流。
  1. 返回「Pub/Sub」找到「Taxi-sub」訂閱項目,然後依序點選「訊息」和「提取」。訊息應會開始陸續出現,如下所示:

已提取的 Pub/Sub 訂閱項目訊息

您已完成模擬即時資料串流!舉例來說,假設您將更多資料上傳至 GCS 並在 Pub/Sub 提取,Dataflow 就會即時移動這類資料。

點選「Check my progress」,確認目標已達成。 複製 Dataflow 工作

工作 7:在 Google Cloud 設定串流架構

Google Cloud 中的常見串流架構由 Pub/Sub > Dataflow > GCS 構成。在這項工作,您會設定這個架構,並將 SingleStore 接入 GCS。

  1. 返回 Dataflow。

  2. 點選「依據範本建立工作」,並將工作命名為 pstogcs (Pub/Sub 至 GCS)。

  3. 區域性端點請選取

  4. 選取下列 Dataflow 範本:Pub/Sub Subscription or Topic to Text Files on Cloud Storage。畫面中會顯示多個選項,您可能需要篩選

  5. 在「目標」部分,點選「瀏覽」,然後選取先前建立的 bucket「」。您希望將這項工作的輸出內容存放於稍早建立的 bucket。點選「選取」

  6. 輸出檔案名稱前置字串保留 output,以便清楚識別輸出檔案。

  7. 展開「Optional Source Parameters」。在「Pub/Sub input subscription」部分,選取您剛剛看見有訊息傳入的「Taxi-sub」。不必加入輸入主題。

  8. 其他設定均維持預設值,然後點選頁面底部的「執行工作」

注意事項:如果執行工作時發生錯誤,請檢查日期和時間的「Custom Pattern」欄位是否有問題。如有,請刪除所有這些欄位的值,然後再試一次。 「依據範本建立工作」頁面,內含前述的欄位。

這項 Dataflow 工作會讀取您先前在 Pub/Sub 看見的訊息,並串流至 Cloud Storage bucket。

注意事項:Dataflow 工作應該會在 5 至 7 分鐘內開始串流。
  1. 依序前往「Cloud Storage」>「bucket」,開啟 bucket「」。這個 bucket 中應有加上時間戳記的輸出檔案。

  2. 點選輸出檔案,然後選取「下載」。您應該會看見計程車資料,包括名稱、座標和時間。

輸出檔案,當中列出計程車資料。

點選「Check my progress」,確認目標已達成。 在 Google Cloud 設定串流架構

在 Cloud Shell IDE 啟用 Gemini Code Assist

您可以在 Cloud Shell 等整合式開發環境 (IDE) 中使用 Gemini Code Assist,取得程式碼相關指引或解決程式碼問題。Gemini Code Assist 必須先啟用,才能開始使用。

  1. 在 Cloud Shell 執行下列指令,啟用 Gemini for Google Cloud API:
gcloud services enable cloudaicompanion.googleapis.com
  1. 點按 Cloud Shell 工具列中的「開啟編輯器」
注意:如要開啟 Cloud Shell 編輯器,請點選 Cloud Shell 工具列中的「開啟編輯器」。如要在 Cloud Shell 與程式碼編輯器之間切換,請視需要點選「開啟編輯器」或「開啟終端機」
  1. 點選畫面底部狀態列中的「Cloud Code - No Project」

  2. 依指示授權外掛程式。如果系統未自動選取專案,請點按「選取 Google Cloud 專案」,然後選擇

  3. 確認狀態列的 Cloud Code 狀態訊息中已顯示 Google Cloud 專案 ()。

將 Cloud Storage 連線至 SingleStore

接著,您需要建立金鑰,將這個私有 Cloud Storage bucket 連線至 SingleStore。

  1. 從「Cloud Storage的導覽選單前往「設定」

  2. 點選「互通性」分頁標籤,並點選底部的「建立金鑰」

接著,您會透過管道將資料擷取至 SingleStore,並啟動預存程序。

  1. 返回開啟了 SingleStore 終端機的 Cloud Shell 分頁。
  1. 為建立初始 SingleStore 管道,請按照下列指示操作:

    • 在第一個 Cloud Shell 分頁,點選「開啟編輯器」。如果出現提示訊息,請點選「在新視窗開啟」
    • 開啟 singlestore-gcp-looker-devday-01 > section b > create_nyctaxi_pipelines.dml 檔案。

    這項動作會啟用 Gemini Code Assist,編輯器右上角出現 Gemini Code Assist:智慧動作 圖示時,代表該項工具已啟用。

藉助 Gemini Code Assist 瞭解 SingleStore 管道檔案

  1. 點選「Gemini Code Assist: Smart Actions」Gemini Code Assist:智慧動作 圖示,然後選取「Explain this」

  2. Gemini Code Assist 會開啟對話窗格,並預先填入提示詞 Explain this。在 Code Assist 對話的內嵌文字方塊中,將預先填入的提示詞改成下列內容,然後點選「Send」

You are an expert Data Engineer at Cymbal AI. A new team member is unfamiliar with this SingleStore Pipelines code. Explain this "create_nyctaxi_pipelines.dml" file in detail, breaking down its key components used in the code. For the suggested improvements, don't update this file.

create_nyctaxi_pipelines.dml 檔案內程式碼的說明會顯示於 Gemini Code Assist 對話。

  1. 按照下列指示更新檔案:
  • 在第 4 行,將 bucket 名稱改為您的 bucket 名稱。
  • 在第 5 行,加入您剛剛建立的 Storage bucket 存取權 ID 和密鑰。
  • 在第 12 行,將 bucket 名稱改為您的 bucket 名稱。
  • 在第 13 行,加入您剛剛建立的 Storage bucket 存取權 ID 和密鑰。
  • 在第 22 行,將 bucket 名稱改為您的 bucket 名稱,並將 .tsv 改為 .csv
  • 在第 23 行,加入您剛剛建立的 Storage bucket 存取權 ID 和密鑰。
  • 在第 26 行,將 /t 改為 ,

檔案應如下所示:

更新後的 create_nyctaxi_pipelines.dml 檔案

  1. 點選「儲存」
  1. 返回 Cloud Shell 終端機,以先前使用的 MySQL 指令連線至 SingleStore。先前使用的指令同樣可以用來連線至 SingleStore。

  2. 在 MySQL 提示詞,執行下列指令來建立管道:

source create_nyctaxi_pipelines.dml; show pipelines;

輸出內容應會如下所示。

輸出內容:

| Pipelines_in_nyc_taxi | State | Scheduled | | --------------------- | ------- | --------- | | neighborhoods | Stopped | False | | drivers | Stopped | False | | trips | Stopped | False |

工作 8:啟動管道

  1. 執行下列指令來啟動管道:
source start_nyctaxi_pipelines.dml; show pipelines;

輸出內容:

| Pipelines_in_nyc_taxi | State | Scheduled | | --------------------- | ------- | --------- | | neighborhoods | Running | False | | drivers | Running | False | | trips | Running | False |
  1. 確認這三項資料的管道狀態均為「運作中」

工作 9:執行營運分析查詢

  1. 執行下列指令來執行營運分析查詢:
select * from trips limit 5; select * from drivers limit 5; select * from neighborhoods limit 5; 指令輸出內容

報表 1:各社區的行程總數。

  1. 接著執行下列指令:
source total_trips.sql;

報告 2:從乘客叫車到上車之間的平均時長。

  1. 接著執行下列指令:
source average_wait.sql;

報表 3:每趟行程的平均距離。

  1. 執行下列指令:
source average_distance.sql;

報表 4:從乘客上車到下車之間的平均時間。

  1. 執行下列指令:
source average_ride_time.sql;

報表 5:行程的平均費用。

  1. 執行下列指令:
source average_cost.sql;

報表 6:駕駛接受叫車到乘客上車之間的平均時長。

  1. 執行下列指令:
source average_wait2.sql;

報表 7:各行程的平均乘客人數。

  1. 最後,執行下列指令:
source average_num_riders.sql;

恭喜!

恭喜!在這個實驗室,您部署了 SingleStoreDB,並搭配使用 Google Cloud 的雲端原生產品,像是 Pub/Sub、Dataflow 和 Cloud Storage。另外,您使用了 SingleStoreDB 的原生管道,從 Cloud Storage 擷取資料並執行營運分析查詢。

歡迎前往 SingleStore.com,進一步瞭解 SingleStore。

Google Cloud 教育訓練與認證

協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。

使用手冊上次更新日期:2025 年 9 月 4 日

實驗室上次測試日期:2025 年 9 月 4 日

Copyright 2026 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

使用无痕模式或无痕浏览器窗口是运行此实验的最佳方式。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。