穀歌雲存儲

介紹如何在Databricks中對穀歌GCS (Cloud Storage)表進行讀寫操作。如果要從GCS桶中讀寫,必須創建一個附加的服務帳戶,並且在創建集群時必須將該桶與該服務帳戶關聯。

使用為服務帳戶生成的密鑰直接連接到桶。

需求

運行Databricks Runtime 7.3 LTS或以上版本的Databricks集群。

直接訪問GCS桶

若要直接讀取和寫入bucket,您可以配置在火花配置

步驟1:使用穀歌雲控製台設置穀歌雲服務賬號

需要為Databricks集群創建一個服務帳號。Databricks建議給予該服務帳戶執行其任務所需的最少權限。

  1. 點擊IAM和Admin在左側導航窗格中。

  2. 點擊服務帳戶

  3. 點擊+創建服務賬號

  4. 輸入服務帳戶名稱和描述。

    穀歌創建GCS業務帳號
  5. 點擊創建

  6. 點擊繼續

  7. 點擊完成

  8. 創建密鑰。看到創建直接訪問GCS桶的密鑰

創建直接訪問GCS桶的密鑰

警告

您為服務帳戶生成的JSON密鑰是一個私鑰,僅應與授權用戶共享,因為它控製著對穀歌雲帳戶中的數據集和資源的訪問。

  1. 在穀歌Cloud控製台的“服務帳戶”列表中,單擊新創建的帳戶。

  2. 部分中,點擊ADD KEY >創建新密鑰

    穀歌創建密鑰
  3. 接受JSON密鑰類型。

  4. 點擊創建。密鑰文件被下載到您的計算機。

步驟2:配置GCS桶

創建桶

如果你還沒有桶,創建一個:

  1. 點擊存儲在左側導航窗格中。

  2. 點擊創建桶

    穀歌創建桶
  3. 點擊創建

配置桶

  1. 配置桶詳細信息。

  2. 單擊權限選項卡。

  3. 旁邊是權限標簽,點擊添加

    穀歌桶詳細信息
  4. 提供存儲管理雲存儲角色對桶上服務帳戶的權限。

    穀歌桶權限
  5. 點擊保存

步驟3:設置Databricks集群

當你配置集群

  1. Databricks運行時版本下拉,選擇7.3 LTS或以上。

  2. 火花配置選項卡,添加以下所有Spark配置。取代< client_email >< project_id >< private_key >,< private_key_id >這些字段名稱的值來自您的關鍵JSON文件。

    重要的

    的值< private_key >跨多行。粘貼整個私鑰。不要包括開頭和結尾的引號。

    spark.hadoop.google.cloud.auth.service.account.enable真實spark.hadoop.fs.gs.auth.service.account.email < client_email >spark.hadoop.fs.gs.project.id < project_id >spark.hadoop.fs.gs.auth.service.account.private.key < private_key >spark.hadoop.fs.gs.auth.service.account.private.key.id < private_key_id >

4 .使用方法

要從GCS桶中讀取,可以使用任何支持的格式的Spark read命令,例如:

df火花格式“鋪”負載“gs: / / < bucket名> / <路徑>”

要寫入GCS桶,可以使用Spark支持的任何格式的寫命令,例如:

df格式“鋪”模式“< >模式”保存“gs: / / < bucket名> / <路徑>”

取代< bucket名>中創建的bucket的名稱步驟2:配置GCS桶

例如筆記本電腦

閱讀穀歌雲存儲筆記本

在新標簽頁打開筆記本

寫入穀歌雲存儲筆記本

在新標簽頁打開筆記本