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

使用 Apps Script 整合 BigQuery 資料與 Google Workspace:挑戰實驗室

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

ARC133

Google Cloud 自學實驗室標誌

總覽

在挑戰研究室中,您會在特定情境下完成一系列任務。挑戰研究室不會提供逐步說明,您將運用從課程研究室學到的技巧,自行找出方法完成任務!自動評分系統 (如本頁所示) 將根據您是否正確完成任務來提供意見回饋。

在您完成任務的期間,挑戰研究室不會介紹新的 Google Cloud 概念。您須靈活運用所學技巧,例如變更預設值或詳讀並研究錯誤訊息,解決遇到的問題。

若想滿分達標,就必須在時限內成功完成所有任務!

設定和需求

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

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

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

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

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

挑戰情境

您是初級雲端工程師,隸屬於某個團隊,目前已協助團隊建立及管理 Google Cloud 資源。

在本實驗室中,您需要使用 Google Cloud 的 BigQuery API (做為 Apps Script 進階服務) 和 Apps Script 內建服務,對 Google 試算表執行資料分析。此外,您還要建立 Google 試算表並填入資料,以及使用試算表資料建立圖表。

公司認為您具備完成下列工作所需的技能與知識。

您的挑戰

在本實驗室中,您需要:

  • 使用 Apps Script 查詢 BigQuery,並將結果記錄至 Google 試算表工作表。
  • 將 BigQuery 資料集連結到 Google 試算表。
  • 使用 Google 圖表,透過連結試算表用圖表呈現試算表資料。
  • 使用 Apps Script 建立新工作表,並填入資料。

工作 1:查詢 BigQuery 並將結果記錄至 Google 試算表

為了完成這項工作,您必須先前往 script.google.com 建立新的 Apps Script 專案,然後將專案重新命名為您選擇的名稱。

輸入並執行應用程式程式碼

  1. 複製以下方塊中的程式碼,然後貼到程式碼編輯器中,覆寫所有內容:

Code.gs

/** * Copyright 2018 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at apache.org/licenses/LICENSE-2.0. * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // Filename for data results var QUERY_NAME = "Most common words in all of Shakespeare's works"; var PROJECT_ID = "{{{project_0.project_id|PROJECT_ID}}}"; if (!PROJECT_ID) throw Error('Project ID is required in setup'); /** * Runs a BigQuery query; puts results into Sheet. You must enable * the BigQuery advanced service before you can run this code. * @see http://developers.google.com/apps-script/advanced/bigquery#run_query * @see http://github.com/gsuitedevs/apps-script-samples/blob/master/advanced/bigquery.gs * * @returns {Spreadsheet} Returns a spreadsheet with BigQuery results * @see http://developers.google.com/apps-script/reference/spreadsheet/spreadsheet */ function runQuery() { // Replace sample with your own BigQuery query. var request = { query: 'SELECT ' + 'LOWER(word) AS word, ' + 'SUM(word_count) AS count ' + 'FROM [bigquery-public-data:samples.shakespeare] ' + 'GROUP BY word ' + 'ORDER BY count ' + 'DESC LIMIT 10' }; var queryResults = BigQuery.Jobs.query(request, PROJECT_ID); var jobId = queryResults.jobReference.jobId; // Wait for BQ job completion (with exponential backoff). var sleepTimeMs = 500; while (!queryResults.jobComplete) { Utilities.sleep(sleepTimeMs); sleepTimeMs *= 2; queryResults = BigQuery.Jobs.getQueryResults(PROJECT_ID, jobId); } // Get all results from BigQuery. var rows = queryResults.rows; while (queryResults.pageToken) { queryResults = BigQuery.Jobs.getQueryResults(PROJECT_ID, jobId, { pageToken: queryResults.pageToken }); rows = rows.concat(queryResults.rows); } // Return null if no data returned. if (!rows) { return Logger.log('No rows returned.'); } // Create the new results spreadsheet. var spreadsheet = SpreadsheetApp.create(QUERY_NAME); var sheet = spreadsheet.getActiveSheet(); // Add headers to Sheet. var headers = queryResults.schema.fields.map(function(field) { return field.name.toUpperCase(); }); sheet.appendRow(headers); // Append the results. var data = new Array(rows.length); for (var i = 0; i < rows.length; i++) { var cols = rows[i].f; data[i] = new Array(cols.length); for (var j = 0; j < cols.length; j++) { data[i][j] = cols[j].v; } } // Start storing data in row 2, col 1 var START_ROW = 2; // skip header row var START_COL = 1; sheet.getRange(START_ROW, START_COL, rows.length, headers.length).setValues(data); Logger.log('Results spreadsheet created: %s', spreadsheet.getUrl()); }
  1. 將檔案名稱改為 bq-sheets.gs,然後按 Enter 鍵。

  2. 查看 runQuery() 函式中的查詢程式碼:

SELECT LOWER(word) AS word, SUM(word_count) AS count FROM [bigquery-public-data:samples.shakespeare] GROUP BY word ORDER BY count DESC LIMIT 10

這項查詢會檢索 BigQuery 公開資料集中的所有莎士比亞作品,並產生作品中出現頻率最高的前 10 個字詞 (依熱門程度降序排列)。

  1. 儲存檔案,然後按一下選單列中的「執行」選項,執行程式碼。
注意:儲存並執行程式碼後,如果收到「Exception: Service BigQuery API has not been enabled for your Apps」錯誤訊息,請移除 BigQuery API 服務,然後再次新增。

按一下「Check my progress」,確認目標已達成。 查詢 BigQuery 並將結果記錄至試算表

工作 2:使用連結試算表對圖表執行計算

  1. 在這項工作中,您需要分析含有芝加哥計程車行程資料的公開資料集。首先,請前往 Google 試算表首頁

將 BigQuery 資料集連結到 Google 試算表

  1. 從新的「空白試算表」連線至 BigQuery 資料集。
  2. 使用資料連接器,將 BigQuery 資料集連結至 Google 試算表。
  3. 依序選取專案 ID >「公開資料集」 >「chicago_taxi_trips」 >「taxi_trips」

在連結試算表中使用公式

  1. 接著,您可以在連結試算表使用不同公式。
  • 首先,請找出芝加哥有多少家計程車公司。
  • 接著,找出芝加哥計程車行程中包含小費的百分比。
  • 找出車資大於 0 的行程總數。

按一下「Check my progress」,確認目標已達成。 在連結試算表中使用公式

工作 3:搭配使用 Google 圖表與連結試算表

在這項工作中,您將使用圖表 (本例為圓餅圖和折線圖),檢視乘車熱門程度和付款方式趨勢。

在 Google 圖表確認下列資訊:

  • 查看圓餅圖,乘客搭計程車時使用哪些付款方式?
  • 查看折線圖,計程車行程的行動支付收益隨時間有什麼變化?
  • 查看折線圖,自 2015 年收益達到高峰後,行動支付收益有何變化?

按一下「Check my progress」,確認目標已達成。 在連結試算表使用圖表

工作 4:使用 Apps Script 建立新的 Google 試算表工作表並輸入資料

在這項工作中,您需要在新的 Google 試算表輸入街道地址,做好準備使用 Apps Script 編輯器。

  1. 如要建立新試算表,請開啟 Google 試算表

  2. 在空白試算表中,點按左上角的第一個儲存格 (A1),這應該是 A 欄第 1 列。

  3. 在第一個儲存格輸入下列地址。

    地址
    76 9th Ave, New York

按一下「Check my progress」,確認目標已達成。 建立新的 Google 試算表工作表,然後輸入街道地址

恭喜!

恭喜!您已成功使用 Apps Script 整合 BigQuery 資料與 Google Workspace,將查詢結果記錄在 Google 試算表工作表、將 BigQuery 資料集連結至 Google 試算表、透過 Google 圖表使用連結試算表將資料視覺化,以及使用 Apps Script 建立新工作表並填入資料。

「使用 Apps Script 整合 BigQuery 資料與 Google Workspace」技能徽章

Google Cloud 教育訓練與認證

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

使用手冊上次更新日期:2024 年 8 月 9 日

實驗室上次測試日期:2024 年 8 月 9 日

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

准备工作

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

使用无痕浏览模式

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

登录控制台

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

此内容目前不可用

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

太好了!

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

一次一个实验

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

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

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