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

BigQuery 足球資料分析

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

GSP849

Google Cloud 自學實驗室標誌

總覽

在本實驗室,您將編寫及執行查詢,查詢儲存在 BigQuery 資料表中的資料,進一步瞭解運動資料科學的基本概念。本實驗室的重點是說明資料庫的運作方式,並回答與下列足球主題相關的有趣問題。

  • 總進球數最多。
  • 傳球次數最多
  • 罰球成功率最高。

本實驗室使用以下資料來源:

  • Pappalardo et al., (2019) A public data set of spatio-temporal match events in soccer competitions, Nature Scientific Data 6:236, https://www.nature.com/articles/s41597-019-0247-7
  • Pappalardo et al. (2019) PlayerRank: Data-driven Performance Evaluation and Player Ranking in Soccer via a Machine Learning Approach. ACM Transactions on Intelligent Systems and Technologies (TIST) 10, 5, Article 59 (September 2019), 27 pages. DOI: https://doi.org/10.1145/3343172

目標

本實驗室的學習內容包括:

  • 在 BigQuery 查詢足球賽事事件資料。
  • 編寫並執行查詢,彙整多個資料表的資訊。

設定和需求

瞭解以下事項後,再點選「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:開啟 BigQuery

BigQuery 控制台包含資料表查詢介面,可用於查詢 BigQuery 提供的公開資料集

  1. 在 Cloud 控制台的「導覽選單」中,選取「BigQuery」

Cloud 控制台導覽選單,選取了「BigQuery」選項。

接著,畫面會顯示「歡迎使用 Cloud 控制台中的 BigQuery」訊息方塊,當中會列出快速入門導覽課程指南的連結和版本資訊。

  1. 點選「完成」

BigQuery 控制台會隨即開啟。

BigQuery 控制台,包含「編輯器」部分和「Explorer」窗格。

注意:如需建立資料集和資料表的流程,請參閱 BigQuery Soccer Data Ingestion 實驗室。本實驗室的重點是學習如何查詢資訊。

建立資料表後,會出現類似以下內容的畫面:

「Explorer」窗格,釘選專案清單中醒目顯示「soccer」檔案。

在下一部分,您將開始學習在 BigQuery 建立查詢的基本知識。

工作 2:進球數最多的比賽

請在本部分建立查詢,彙整多個包含足球資料的資料表。您可以根據現有資訊執行一些基本分析,例如:特定聯賽中,兩隊在哪場比賽的進球總數最多。

  1. 在查詢編輯器,點選「+」(建立 SQL 查詢)。
  2. 在查詢編輯器中加入下列內容:
SELECT date, label, (team1.score + team2.score) AS totalGoals FROM `soccer.matches` Matches LEFT JOIN `soccer.competitions` Competitions ON Matches.competitionId = Competitions.wyId WHERE status = 'Played' AND Competitions.name = 'Spanish first division' ORDER BY totalGoals DESC, date DESC

查詢會執行下列動作:

  • matches 資料表 (包含最終得分) 連結 competitions 資料表。
  • 篩選出「西班牙甲級聯賽」的賽事。
  • 依據記錄一場比賽總進球數的計算結果欄位排序。
  1. 按一下「執行」

查詢結果會顯示在查詢視窗下方。

「查詢結果」頁面會列出多筆結果。

點按「Check my progress」,確認目標已達成

確定查詢已執行

在這個部分,我們使用 BigQuery 說明如何定義查詢來顯示足球資訊。這項查詢會建立篩選器,顯示特定聯賽的比賽資訊,並依據定義的欄位將資訊分類。

工作 3:傳球次數最多的球員

請在本部分建立查詢,彙整多個包含足球資料的資料表。您可以根據現有資訊執行一些基本分析,例如:計算球員的傳球總次數。

  1. 在查詢編輯器,點選「+」(建立 SQL 查詢)。
  2. 在查詢編輯器加入下列查詢:
SELECT playerId, (Players.firstName || ' ' || Players.lastName) AS playerName, COUNT(id) AS numPasses FROM `soccer.events` Events LEFT JOIN `soccer.players` Players ON Events.playerId = Players.wyId WHERE eventName = 'Pass' GROUP BY playerId, playerName ORDER BY numPasses DESC LIMIT 10

這項查詢會執行下列操作:

  • events 資料表 (記錄每次傳球) 連結 players 資料表,根據 ID 找出球員姓名
  • 將球員分組
  • 計算各球員的傳球次數
  • 按照傳球次數由多至少,將球員排序
  1. 按一下「執行」。查詢結果會顯示在查詢視窗下方。

點按「Check my progress」,確認目標已達成

確定查詢已執行

這個部分會使用 BigQuery 說明如何定義查詢,顯示球員資訊。這項查詢會建立 join,顯示 playerId 的特定資訊,並依據定義的欄位將資訊分類。

在下一部分,您將進一步瞭解現有資料集,並探索如何使用該資料集來判斷球員的罰球成功率。

工作 4:判斷罰球成功率

請在本部分建立查詢,彙整多個包含足球資料的資料表。您可以根據現有資訊執行一些分析,例如:每位球員的罰球成功率。

  1. 在查詢編輯器,點選「+」(建立 SQL 查詢)。
  2. 複製下列查詢並貼到查詢編輯器
SELECT playerId, (Players.firstName || ' ' || Players.lastName) AS playerName, COUNT(id) AS numPKAtt, SUM(IF(101 IN UNNEST(tags.id), 1, 0)) AS numPKGoals, SAFE_DIVIDE( SUM(IF(101 IN UNNEST(tags.id), 1, 0)), COUNT(id) ) AS PKSuccessRate FROM `soccer.events` Events LEFT JOIN `soccer.players` Players ON Events.playerId = Players.wyId WHERE eventName = 'Free Kick' AND subEventName = 'Penalty' GROUP BY playerId, playerName HAVING numPkAtt >= 5 ORDER BY PKSuccessRate DESC, numPKAtt DESC

查詢會依球員彙整罰球嘗試次數和成功次數,並篩選出至少嘗試 5 次罰球的球員,然後依成功率排序。

注意:上述查詢會將 events 資料表 (本例中已篩選,只包含罰球) 連結 players 資料表,根據 ID 找出球員姓名。

事件資料表中的「tags」欄位使用 BigQuery 的陣列功能 (每個事件可儲存多個標記),因此必須取消巢狀結構,才能判斷是否成功射門 (可使用 tags2name 資料表確認標記 101 代表進球)。
  1. 按一下「執行」。查詢結果會顯示在查詢視窗下方。

點按「Check my progress」,確認目標已達成

確定查詢已執行

在這個部分,我們使用 BigQuery 說明如何定義查詢,顯示與罰球相關的球員資訊。這項查詢會建立 join,顯示 playerId 的特定資訊,並啟用更詳細的資訊顯示功能。

工作 5:趣味測驗

完成本實驗室介紹的主題後,請回答簡短測驗,檢驗您對 BigQuery 的瞭解程度。

恭喜!

恭喜!您已在本實驗室成功編寫及執行查詢,分析儲存在 BigQuery 資料表中的資料。您也學會如何彙整多個資料表的資訊,回答有趣的足球相關問題。

Google Cloud 教育訓練與認證

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

使用手冊上次更新日期:2024 年 1 月 25 日

實驗室上次測試日期:2024 年 1 月 25 日

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

准备工作

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

使用无痕浏览模式

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

登录控制台

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

此内容目前不可用

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

太好了!

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

一次一个实验

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

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

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