開始
加載和管理數據
處理數據
政府
引用和資源
2023年8月3日更新
給我們反饋
HashiCorp起程拓殖是一個很受歡迎的開放源代碼工具用於創建安全、可預測的跨多個雲提供商的雲基礎設施。您可以使用磚起程拓殖的提供者來管理你的磚工作區和相關的雲基礎設施的使用靈活,強大的工具。磚起程拓殖的提供者的目標是支持所有磚REST api,支持最複雜的自動化方麵的部署和管理您的數據平台。Beplay体育安卓版本磚客戶使用磚起程拓殖的beplay体育app下载地址提供者的部署和管理集群和工作和配置數據訪問。起程拓殖提供者提供您使用磚磚工作區以及穀歌雲平台提供商Beplay体育安卓版本這些條款要求穀歌雲平台資源工作區。Beplay体育安卓版本
在本節中,您安裝和配置要求使用起程拓殖和磚起程拓殖的提供者。然後配置起程拓殖身份驗證。在這一節中,本文提供了一個示例配置你可以嚐試提供一個磚筆記本,集群,和工作筆記本在集群上運行,在現有數據磚工作區。
請注意
本節描述的要求在磚在穀歌的雲賬號級別創建資源利用穀歌服務帳戶創建資源,通過使用磚磚穀歌雲工作區層次上的個人訪問令牌。使用其他支持磚身份驗證類型,明白了磚客戶端統一身份驗證。
使用起程拓殖創建資源在穀歌雲賬戶層麵,並使用磚起程拓殖的提供者創建資源在磚在穀歌的雲賬號級別,你必須有以下:
穀歌雲賬戶。
穀歌雲項目賬戶。
使用磚起程拓殖提供者1.8.0或更高。總是使用最新版本的提供者。
一個磚在穀歌的雲賬戶在這個項目。
一個穀歌賬戶和一個穀歌服務帳戶與所需的權限。
本地開發機器上,您必須:
起程拓殖CLI。看到下載起程拓殖在起程拓殖網站上。
的穀歌雲SDK,在通過簽署gcloud auth application-default登錄項目= <項目id >命令,<項目id >是目標穀歌雲項目的ID。更多細節,請參閱安裝穀歌雲SDK和授權gcloud CLI穀歌雲網站。
<項目id >
使用磚也起程拓殖提供者創建的資源在磚工作空間的層麵上,你必須有以下:
一個磚的工作區。
一個磚個人訪問令牌起程拓殖叫磚api,允許在你的磚工作區。另請參閱管理個人訪問令牌。
下列之一:
磚CLI版本0.200或更高版本,配置你的磚個人訪問令牌通過運行磚配置——主機< workspace-url >——簡介< some-unique-profile-name >。看到安裝CLI和磚個人訪問令牌認證。
磚配置——主機< workspace-url >——簡介< some-unique-profile-name >
以下兩個磚環境變量:
DATABRICKS_HOST的值,設置為你的磚工作區實例URL例如,https://1234567890123456.7.gcp.m.eheci.com
DATABRICKS_HOST
https://1234567890123456.7.gcp.m.eheci.com
DATABRICKS_TOKEN的值,設置為你的磚個人訪問令牌。另請參閱管理個人訪問令牌。
DATABRICKS_TOKEN
設置這些環境變量,看你的操作係統的文檔。
安全最佳實踐,當您使用自動化工具進行身份驗證,係統中,腳本和應用程序,磚屬於建議您使用個人訪問令牌服務主體而不是用戶工作區。為服務主體,創建令牌服務主體的管理令牌。
本節描述如何創建資源磚在穀歌的雲賬戶使用水平穀歌服務帳戶,以及如何創建資源使用磚磚穀歌雲工作區層次上的個人訪問令牌。使用其他支持磚身份驗證類型,明白了磚客戶端統一身份驗證。
在你起程拓殖項目,您必須創建一個配置起程拓殖與穀歌雲帳戶進行身份驗證,並與磚磚起程拓殖者進行身份驗證提供者在穀歌雲賬戶和磚工作區,如下:
在終端中,創建一個空目錄,然後切換到它。(每個單獨的組起程拓殖配置文件必須在自己的目錄中,名為起程拓殖項目)。例如:mkdirterraform_demo& &cdterraform_demo。
mkdirterraform_demo& &cdterraform_demo
mkdir terraform_demo& &cdterraform_demo
在這個空目錄中,創建一個文件命名auth.tf。將以下內容添加到這個文件,根據您的身份驗證方法,然後保存文件。
auth.tf
提示
如果你使用Visual Studio代碼,HashiCorp起程拓殖擴展Visual Studio代碼添加編輯功能等起程拓殖文件語法高亮顯示、智能感知、導航代碼,代碼格式,一個模塊的探險家,等等。
使用穀歌雲SDK在穀歌雲賬戶認證水平,在磚在穀歌的雲賬戶層麵,並使用磚的磚CLI配置概要文件的驗證工作空間層麵,添加以下內容:
變量“databricks_connection_profile”{}起程拓殖{required_providers{磚={源=“磚/磚”}穀歌={源=“hashicorp /穀歌”}}}提供者“穀歌”{}#使用磚CLI的身份驗證。提供者“磚”{配置文件=var。databricks_connection_profile}
使用穀歌雲SDK在穀歌雲賬戶認證水平,在磚在穀歌的雲賬戶層麵,和使用環境變量來驗證在磚工作空間的層麵上,添加以下內容:
起程拓殖{required_providers{磚={源=“磚/磚”}穀歌={源=“hashicorp /穀歌”}}}提供者“穀歌”{}#使用環境變量進行身份驗證。提供者“磚”{}
如果你想創建資源隻有在磚工作空間,您可以刪除穀歌從之前的任何塊required_providers聲明的提供者“穀歌”聲明。
穀歌
required_providers
提供者“穀歌”
如果使用磚CLI配置概要文件來驗證在磚的工作空間層麵,創建另一個文件命名auth.auto.tfvars,將以下內容添加到該文件,並更改配置文件的名稱,你想使用在需要時:
auth.auto.tfvars
databricks_connection_profile=“默認”
* .auto.tfvars文件使您能夠指定變量的值分開你的代碼。這使得你的.tf在不同的使用場景文件更模塊化和重用。
* .auto.tfvars
.tf
包含初始化工作目錄auth.tf文件通過運行起程拓殖初始化命令。有關更多信息,請參見命令:初始化在起程拓殖網站上。
起程拓殖初始化
起程拓殖init
起程拓殖下載指定的供應商和安裝在一個隱藏的當前工作目錄的子目錄,命名.terraform。的起程拓殖初始化命令打印出該版本的提供者被安裝。起程拓殖還創建了一個鎖文件命名.terraform.lock.hcl它指定的提供者版本使用,這樣你可以控製當你想更新供應商用於你的項目。
.terraform
.terraform.lock.hcl
檢查你的項目是否正確配置運行起程拓殖計劃命令。如果有任何錯誤,修複它們,並再次運行該命令。有關更多信息,請參見命令:計劃在起程拓殖網站上。
起程拓殖計劃
應用更改需要達到所需的配置通過運行狀態起程拓殖應用命令。有關更多信息,請參見命令:在起程拓殖網站上。
起程拓殖應用
因為沒有資源還沒有被指定的auth.tf文件,輸出應用完成了!資源:0補充說,0改變,0摧毀。同時,起程拓殖寫數據到一個文件中terraform.tfstate。創建資源,繼續示例配置,下一個步驟,或雙方指定所需的資源來創建,然後運行起程拓殖應用再次命令。起程拓殖存儲id和資源管理的屬性terraform.tfstate文件,因此它可以更新或破壞這些資源。
應用完成了!資源:0補充說,0改變,0摧毀。
terraform.tfstate
本節提供了一個示例配置,您可以嚐試提供一個磚筆記本,一個集群,和筆記本在集群上運行工作,在現有數據磚工作區。它假設您已經設置需求,以及創建了一個起程拓殖起程拓殖認證項目和配置項目,如前一節所述。
創建另一個文件命名me.tf在同一個目錄中創建起程拓殖身份驗證配置,並添加以下代碼。這個文件被當前用戶的信息(你):
me.tf
#獲取當前用戶的信息。數據“databricks_current_user”“我”{}
創建另一個文件命名notebook.tf,並添加以下代碼。這個文件代表了筆記本。
notebook.tf
變量“notebook_subdirectory”{描述=”子目錄的名稱存儲筆記本。”類型=字符串默認的=“起程拓殖”}變量“notebook_filename”{描述=筆記本的文件名。類型=字符串}變量“notebook_language”{描述=“筆記本的語言”。類型=字符串}資源“databricks_notebook”“這”{路徑=" ${data.databricks_current_user.me.home}美元/{var.notebook_subdirectory}美元/{var.notebook_filename}”語言=var。notebook_language源=”。/ ${var.notebook_filename}”}輸出“notebook_url”{價值=databricks_notebook。這。url}
創建另一個文件命名notebook.auto.tfvars,並添加以下代碼。這個文件指定了筆記本的屬性。
notebook.auto.tfvars
notebook_subdirectory=“起程拓殖”notebook_filename=“notebook-getting-started.py”notebook_language=“巨蟒”
創建另一個文件命名notebook-getting-started.py,並添加以下代碼。這個文件代表了筆記本的內容。
notebook-getting-started.py
顯示(火花。範圍(10))
創建另一個文件命名cluster.tf,並添加以下代碼。這個文件代表了集群。
cluster.tf
變量“cluster_name”{描述=“集群的名稱”。類型=字符串默認的=“我的集群”}變量“cluster_autotermination_minutes”{描述=“多少分鍾後自動終止由於不活動。”類型=數量默認的=60}變量“cluster_num_workers”{描述=“工人的數量。”類型=數量默認的=1}#創建集群的“最小”#資源允許的。數據“databricks_node_type”“最小”{local_disk=真正的}#使用最新的磚運行時#長期支持(LTS)版本。數據“databricks_spark_version”“latest_lts”{long_term_support=真正的}資源“databricks_cluster”“這”{cluster_name=var。cluster_namenode_type_id=數據。databricks_node_type。最小的。idspark_version=數據。databricks_spark_version。latest_lts。idautotermination_minutes=var。cluster_autotermination_minutesnum_workers=var。cluster_num_workers}輸出“cluster_url”{價值=databricks_cluster。這。url}
創建另一個文件命名cluster.auto.tfvars,並添加以下代碼。該文件指定集群的屬性。
cluster.auto.tfvars
cluster_name=“我的集群”cluster_autotermination_minutes=60cluster_num_workers=1
創建另一個文件命名job.tf,並添加以下代碼。這個文件代表了筆記本在集群上運行工作。
job.tf
變量“job_name”{描述=“名字。”類型=字符串默認的=“我的工作”}資源“databricks_job”“這”{的名字=var。job_nameexisting_cluster_id=databricks_cluster。這。cluster_idnotebook_task{notebook_path=databricks_notebook。這。路徑}email_notifications{on_success=(數據。databricks_current_user。我。user_name]on_failure=(數據。databricks_current_user。我。user_name]}}輸出“job_url”{價值=databricks_job。這。url}
創建另一個文件命名job.auto.tfvars,並添加以下代碼。該文件指定了喬布斯的屬性。
job.auto.tfvars
job_name=“我的工作”
運行起程拓殖計劃。如果有任何錯誤,修複它們,然後再次運行該命令。
運行起程拓殖應用。
確認筆記本、集群和創建工作:在的輸出起程拓殖應用命令,找到的urlnotebook_url,cluster_url,job_url,去他們。
notebook_url
cluster_url
job_url
運行工作:對工作頁麵,點擊現在運行。工作完成後,查看你的電子郵件收件箱。
當你完成這個示例,刪除筆記本,集群,從磚的工作空間和工作運行起程拓殖摧毀。
起程拓殖摧毀
確認筆記本,集群,工作被刪除:刷新筆記本,集群,工作頁麵每顯示一條消息,資源不能被發現。
管理工作區資源磚的工作區。
Terraform-specific支持,請參閱最新起程拓殖的話題在HashiCorp討論網站上。問題具體到磚起程拓殖的提供者,請參閱問題在databrickslabs / terraform-provider-databricksGitHub庫。
問題如果你不檢查terraform.lock.hcl文件的版本控製係統,並運行起程拓殖初始化命令,出現以下消息:失敗的來安裝提供者。額外的輸出可能包含一個消息類似如下:
terraform.lock.hcl
失敗的來安裝提供者
錯誤而安裝databrickslabs /磚:v1.0.0:校驗和列表沒有“https://github.com/databricks/terraform-provider-databricks/releases/download/v1.0.0/terraform-provider-databricks_1.0.0_darwin_amd64.zip”的sha - 256散列
導致:你起程拓殖配置參考過時的磚起程拓殖的提供者。
解決方案:
取代databrickslabs /磚與磚/磚在你所有的.tf文件。
databrickslabs /磚
磚/磚
Python來自動化這些替代品,運行以下命令從包含的父文件夾.tf文件更新:
python3- - - - - -c“$ (curl - ls https://dbricks.co/updtfns)”
運行下麵的起程拓殖命令,然後批準更改當提示:
起程拓殖狀態replace-provider databrickslabs /磚磚的磚
關於這個命令的更多信息,請參閱命令:國家replace-provider在起程拓殖文檔。
驗證更改起程拓殖運行以下命令:
問題如果你不檢查terraform.lock.hcl文件的版本控製係統,並運行起程拓殖初始化命令,出現以下消息:失敗的來查詢可用提供者包。
失敗的來查詢可用提供者包
解決方案:按照指令的解決方案錯誤:無法安裝提供者。
管理數據磚使用起程拓殖工作區
創建集群
創建一個集群,一個筆記本,一份工作
控製訪問集群:明白了啟用集群訪問控製您的工作區和集群訪問控製
訪問控製工作:明白了工作訪問控製
控製訪問池:明白了池的訪問控製
訪問控製筆記本
配置數據磚回購
訪問控製的秘密
訪問控製磚SQL表
執行CI / CD管道磚部署資源使用磚起程拓殖的提供者
創建一個示例SQL指示板磚
磚提供者的文檔在起程拓殖注冊網站上
起程拓殖文檔在起程拓殖網站上
的terraform-databricks-examples在GitHub庫