arrow_back

BigLake:Qwik Start

登录 加入
访问 700 多个实验和课程

BigLake:Qwik Start

实验 45 分钟 universal_currency_alt 1 积分 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
访问 700 多个实验和课程

GSP1040

Google Cloud 自學實驗室標誌

總覽

BigLake 是一種整合式儲存引擎,能簡化 data warehouse 和 data lake 的資料存取作業。這項服務提供統一、精細的存取控管機制,且適用於各種多雲端儲存空間和開放格式。

BigLake 能將 BigQuery 精細的資料欄/列層級安全防護機制,擴展至資料落地物件儲存庫的資料表,像是 Amazon S3、Azure Data Lake Storage Gen2,以及 Google Cloud Storage。BigLake 具備存取權委派功能,因此能將資料表的存取權,與雲端儲存空間中的基礎資料分離開來。有了這項功能,您就能安全授予資料欄/列層級的存取權給組織中的使用者和 pipeline,不需提供資料表的完整存取權。

BigLake 資料表建立完後,就能進行查詢,方法與其他 BigQuery 資料表相同。BigQuery 採行資料欄/列層級存取控管機制,每位使用者只能查看自己有權限檢視的資料。所有資料存取權的管理政策是由 BigQuery API 強制執行。舉例來說,BigQuery Storage API 能讓使用者透過 Apache Spark 等開放原始碼查詢引擎,存取自己有權限存取的資料,如下圖所示:

BigLake 總覽圖表

目標

本實驗室的學習內容如下:

  • 建立及查看連線資源。
  • 設定 Cloud Storage data lake 的存取權。
  • 建立 BigLake 資料表。
  • 透過 BigQuery 查詢 BigLake 資料表。
  • 設定存取控管政策。
  • 將外部資料表升級為 BigLake 資料表。

設定和需求

瞭解以下事項後,再點選「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 產品和服務,請點選「導覽選單」,或在「搜尋」欄位輸入服務或產品名稱。「導覽選單」圖示和搜尋欄位

啟動 Cloud Shell

Cloud Shell 是搭載多項開發工具的虛擬機器,提供永久的 5 GB 主目錄,而且在 Google Cloud 中運作。Cloud Shell 提供指令列存取權,方便您使用 Google Cloud 資源。

  1. 點按 Google Cloud 控制台頂端的「啟用 Cloud Shell」圖示 「啟動 Cloud Shell」圖示

  2. 系統顯示視窗時,請按照下列步驟操作:

    • 繼續操作 Cloud Shell 視窗。
    • 授權 Cloud Shell 使用您的憑證發出 Google Cloud API 呼叫。

連線建立完成即代表已通過驗證,而且專案已設為您的 Project_ID。輸出內容中有一行文字,宣告本工作階段的 Project_ID

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud 是 Google Cloud 的指令列工具,已預先安裝於 Cloud Shell,並支援 Tab 鍵自動完成功能。

  1. (選用) 您可以執行下列指令來列出使用中的帳戶:
gcloud auth list
  1. 點按「授權」

輸出內容:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (選用) 您可以使用下列指令來列出專案 ID:
gcloud config list project

輸出內容:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} 注意:如需 gcloud 的完整說明,請前往 Google Cloud 參閱 gcloud CLI 總覽指南

工作 1:建立連線資源

BigLake 資料表會透過連線資源存取 Google Cloud Storage 資料,連線資源可與專案中的單一資料表或任何一組資料表建立關聯。

  1. 從「導覽選單」依序前往「BigQuery」>「BigQuery Studio」,接著點選「完成」

  2. 依序點選「+ 新增」和「連線至外部資料來源」來建立連線。

注意:若系統提示您啟用 BigQuery Connection API,請點選「啟用 API」
  1. 在「連線類型」清單中,選取「Vertex AI 遠端模型、遠端函式和 BigLake (Cloud 資源)」

新增外部資料來源

  1. 在「連線 ID」欄位輸入 my-connection

  2. 「位置類型」請選擇「多區域」,然後從下拉式選單中選取「US (多個美國區域)」

  3. 點選「建立連線」

  4. 選取導覽選單中的連線即可查看連線資訊。

連線資訊檢視畫面

  1. 在「連線資訊」部分,複製服務帳戶 ID,下一節會用到這項資訊。

點選「Check my progress」,確認目標已達成。 建立連線資源

工作 2:設定 Cloud Storage data lake 的存取權

在本節中,您將授予 Cloud Storage data lake 唯讀存取權給剛建立的連線資源,這樣 BigQuery 就能代替使用者存取 Cloud Storage 檔案。建議您為連線資源的服務帳戶,授予 Storage 物件檢視者這個 IAM 角色,這樣服務帳戶就能存取 Cloud Storage bucket。

  1. 從「導覽選單」依序前往「IAM 與管理」>「身分與存取權管理」

  2. 點選「授予存取權」。

  3. 在「新主體」欄位,輸入先前複製的服務帳戶 ID。

  4. 在「請選擇角色」欄位中,依序選取「Cloud Storage」和「Storage 物件檢視者」

「新增主體」對話方塊

  1. 點選「儲存」
注意:將使用者遷移至 BigLake 資料表後,請移除現有使用者的 Cloud Storage 直接權限,因為這類權限能讓使用者略過 BigLake 資料表目前設定的管理政策,像是資料欄/列層級安全防護機制。

點選「Check my progress」,確認目標已達成。 設定 Cloud Storage data lake 的存取權

工作 3:建立 BigLake 資料表

以下的例子使用 CSV 檔案格式,不過您可以使用 BigLake 支援的任何格式,詳情請見限制的相關說明。如果您知道如何在 BigQuery 建立資料表,這個步驟基本上大同小異,唯一的差別在於您可以指定要連結的 Cloud 資源連線。

注意:為獲得最佳效能,建議您使用 Cloud Storage 單區域或雙區域 bucket,不要使用多區域 bucket。

如果您未提供結構定義,且上個步驟中未將 bucket 的存取權授予服務帳戶,這個步驟將會失敗,並顯示存取遭拒的訊息。

建立資料集

  1. 依序返回「BigQuery」>「BigQuery Studio」

  2. 點選專案名稱旁的三點圖示,然後選取「建立資料集」

建立資料集

  1. 「資料集 ID」請使用 demo_dataset

  2. 「位置類型」請選擇「多區域」,然後從下拉式選單中選取「US (多個美國區域)」

  3. 其餘欄位保留預設值,然後點選「建立資料集」

    成功建立資料集後,您就能將現有的 Cloud Storage 資料集複製到 BigQuery。

建立資料表

  1. 點選「demo_dataset」旁的三點圖示,然後選擇「建立資料表」

create-table-1

  1. 在「建立資料表來源」的「來源」底下,選擇「Google Cloud Storage」
注意:系統已建立帶有兩個資料集的 Cloud Storage bucket,供您在本實驗室中使用。
  1. 點選「瀏覽」來選取資料集。依序找到名為「」的 bucket 和 customer.csv 檔案,我們要將這個檔案匯入至 BigQuery。接著請點選「選取」

  2. 在「目的地」底下,確認您已選取實驗室專案並使用 demo_dataset

  3. 資料表名稱請使用 biglake_table

  4. 資料表類型請設為「外部資料表」

  5. 勾選「使用 Cloud 資源連線建立 BigLake 資料表」旁的方塊

    確認已選取連線 ID「us.my-connection」。目前的設定應如下所示:

目的地資料表

  1. 在「結構定義」底下啟用「以文字形式編輯」,然後複製下列結構定義,並貼到文字方塊中:
[ { "name": "customer_id", "type": "INTEGER", "mode": "REQUIRED" }, { "name": "first_name", "type": "STRING", "mode": "REQUIRED" }, { "name": "last_name", "type": "STRING", "mode": "REQUIRED" }, { "name": "company", "type": "STRING", "mode": "NULLABLE" }, { "name": "address", "type": "STRING", "mode": "NULLABLE" }, { "name": "city", "type": "STRING", "mode": "NULLABLE" }, { "name": "state", "type": "STRING", "mode": "NULLABLE" }, { "name": "country", "type": "STRING", "mode": "NULLABLE" }, { "name": "postal_code", "type": "STRING", "mode": "NULLABLE" }, { "name": "phone", "type": "STRING", "mode": "NULLABLE" }, { "name": "fax", "type": "STRING", "mode": "NULLABLE" }, { "name": "email", "type": "STRING", "mode": "REQUIRED" }, { "name": "support_rep_id", "type": "INTEGER", "mode": "NULLABLE" } ] 注意:一般來說 data lake 沒有預先定義的結構定義。為利於進行本實驗室,我們會使用結構定義來清楚設定資料欄層級的政策。
  1. 點選「建立資料表」

點選「Check my progress」,確認目標已達成。 建立 BigLake 資料表

工作 4:透過 BigQuery 查詢 BigLake 資料表

成功建立 BigLake 資料表後,您就能使用任何 BigQuery 用戶端來提交查詢。

  1. 在「biglake_table」預覽工具列中,依序點選「查詢」>「在新分頁中開啟」

  2. 在 BigQuery 編輯器中執行下列指令來查詢 BigLake 資料表:

SELECT * FROM `{{{project_0.project_id|Project ID}}}.demo_dataset.biglake_table`
  1. 點選「執行」

  2. 確認您可以在輸出的資料表中看見所有欄位和資料。

工作 5:設定存取控管政策

成功建立 BigLake 資料表後,您可以比照 BigQuery 資料表進行管理。如要為 BigLake 資料表制定存取控管政策,首先必須在 BigQuery 建立政策標記分類,接著就能將政策標記套用到敏感資料列或資料欄。本節中您將建立資料欄層級的政策。如需設定資料列層級安全防護機制的指引,請參閱資料列層級的安全性指南

為節省時間,系統已為您建立名為「」的 BigQuery 分類,以及相關聯的政策標記 biglake-policy

為資料欄加上政策標記

現在您將使用建立好的政策標記,對 BigQuery 資料表中的某些資料欄增設存取限制。在本例中,您將限制私密資訊的存取權,像是地址、郵遞區號和電話號碼。

  1. 從「導覽選單」依序前往「BigQuery」>「BigQuery Studio」

  2. 依序點選「demo-dataset」>「biglake_table」,然後按一下資料表來開啟資料表結構定義頁面。

  3. 點選「編輯結構定義」

  4. 勾選「address」、「postal_code」和「phone」欄位旁的方塊。

醒目顯示結構定義欄位

  1. 點選「新增政策標記」

  2. 展開「」,接著選取「biglake-policy」

為資料欄新增政策標記

  1. 點選「選取」

    資料欄現在應該已附加政策標記。

附加的政策標記

  1. 點選「儲存」

  2. 確認您的資料表結構定義是否與下圖相似。

更新後的資料表結構定義

注意:資料欄若顯示警告圖示,即代表根據現行安全性政策,您不具備該欄位的存取權。

驗證資料欄層級安全防護機制

  1. 開啟 biglake_table 的查詢編輯器。

  2. 在 BigQuery 編輯器中執行下列指令來查詢 BigLake 資料表:

SELECT * FROM `{{{project_0.project_id|Project ID}}}.demo_dataset.biglake_table`
  1. 點選「執行」

    您應該會看見一則存取遭拒的錯誤訊息:

存取遭拒錯誤訊息

  1. 現在,請執行下列查詢,這個查詢會略過您沒有存取權的資料欄:
SELECT * EXCEPT(address, phone, postal_code) FROM `{{{project_0.project_id|Project ID}}}.demo_dataset.biglake_table`

查詢應該會正常執行,並傳回您有權存取的資料欄。這個例子顯示,透過 BigQuery 強制執行的資料欄層級安全防護機制,也能套用至 BigLake 資料表。

工作 6:將外部資料表升級為 BigLake 資料表

只要將現有的資料表連結至 Cloud 資源連線,就能升級成 BigLake 資料表。如需完整的旗標和引數清單,請查看 bq updatebq mkdef

建立外部資料表

  1. 點選「demo_dataset」旁的三點圖示,然後選擇「建立資料表」

  2. 在「建立資料表來源」的「來源」底下,選擇「Google Cloud Storage」

  3. 點選「瀏覽」來選取資料集。依序找到名為「」的 bucket 和 invoice.csv 檔案,我們要將這個檔案匯入至 BigQuery。接著請點選「選取」

  4. 在「目的地」底下,確認您已選取實驗室專案並使用 demo_dataset

  5. 資料表名稱請使用 external_table

  6. 資料表類型請設為「外部資料表」

注意:這個階段請先不要指定 Cloud 資源連線。
  1. 在「結構定義」底下啟用「以文字形式編輯」,然後複製下列結構定義,並貼到文字方塊中:
[ { "name": "invoice_id", "type": "INTEGER", "mode": "REQUIRED" }, { "name": "customer_id", "type": "INTEGER", "mode": "REQUIRED" }, { "name": "invoice_date", "type": "TIMESTAMP", "mode": "REQUIRED" }, { "name": "billing_address", "type": "STRING", "mode": "NULLABLE" }, { "name": "billing_city", "type": "STRING", "mode": "NULLABLE" }, { "name": "billing_state", "type": "STRING", "mode": "NULLABLE" }, { "name": "billing_country", "type": "STRING", "mode": "NULLABLE" }, { "name": "billing_postal_code", "type": "STRING", "mode": "NULLABLE" }, { "name": "total", "type": "NUMERIC", "mode": "REQUIRED" } ]
  1. 點選「建立資料表」

點選「Check my progress」,確認目標已達成。 建立外部資料表

將外部資料表更新為 BigLake 資料表

  1. 開啟新的 Cloud Shell 視窗並執行下列指令,產生新的外部資料表定義來指定要使用的連線:
export PROJECT_ID=$(gcloud config get-value project) bq mkdef \ --autodetect \ --connection_id=$PROJECT_ID.US.my-connection \ --source_format=CSV \ "gs://$PROJECT_ID/invoice.csv" > /tmp/tabledef.json
  1. 確認資料表定義是否成功建立:
cat /tmp/tabledef.json
  1. 取得資料表的結構定義:
bq show --schema --format=prettyjson demo_dataset.external_table > /tmp/schema
  1. 使用新的外部資料表定義更新資料表:
bq update --external_table_definition=/tmp/tabledef.json --schema=/tmp/schema demo_dataset.external_table

點選「Check my progress」,確認目標已達成。 將外部資料表更新為 BigLake 資料表

驗證更新後的資料表

  1. 從「導覽選單」依序前往「BigQuery」>「BigQuery Studio」

  2. 前往「demo-dataset」> 按兩下「external_table」

  3. 開啟「詳細資料」分頁。

  4. 在「外部資料設定」底下,確認資料表目前使用正確的連線 ID。

外部資料設定

太好了!您已成功將現有的外部資料表連結至 Cloud 資源連線,並升級成 BigLake 資料表。

恭喜!

在本實驗室中,您建立了連線資源、設定 Cloud Storage data lake 的存取權,並使用該資源建立 BigLake 資料表。接著,您透過 BigQuery 查詢 BigLake 資料表,並設定資料欄層級的存取控管政策。最後,您使用連線資源,將現有的外部資料表更新成 BigLake 資料表。

後續行動/瞭解詳情

請務必查看下列說明文件,獲得更多 BigLake 練習機會:

Google Cloud 教育訓練與認證

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

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

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

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

准备工作

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

使用无痕浏览模式

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

登录控制台

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

此内容目前不可用

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

太好了!

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

一次一个实验

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

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

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