開始
加載和管理數據
處理數據
政府
引用和資源
更新6月28日,2023年
給我們反饋
本文將展示如何使用磚起程拓殖的提供者創建一個集群,一個筆記本和一個工作在現有的磚工作空間。
這篇文章是一個同伴磚開始的文章如下:
磚上運行你的第一個ETL工作負載使用一個通用的集群,Python的筆記本,筆記本運行工作。
與筆記本電腦教程:查詢數據,它使用一個通用的集群和一個SQL筆記本。
起程拓殖配置還可以適應在本文中創建自定義集群,筆記本電腦,和工作在你的工作區。
一個磚的工作區。
一個磚個人訪問令牌起程拓殖叫磚api,允許在你的磚工作區。另請參閱管理個人訪問令牌。
本地開發機器上,您必須:
起程拓殖CLI。看到下載起程拓殖在起程拓殖網站上。
下列之一:
磚的命令行接口(磚CLI)、配置你的磚工作區實例URL例如,https://1234567890123456.7.gcp.www.eheci.com,你的磚個人訪問令牌,通過運行磚配置——令牌。看到設置CLI和設置身份驗證。
https://1234567890123456.7.gcp.www.eheci.com
磚配置——令牌
以下兩個磚環境變量:
DATABRICKS_HOST的值,設置為你的磚工作區實例URL例如,https://1234567890123456.7.gcp.www.eheci.com
DATABRICKS_HOST
DATABRICKS_TOKEN的值,設置為你的磚個人訪問令牌。另請參閱管理個人訪問令牌。
DATABRICKS_TOKEN
設置這些環境變量,看你的操作係統的文檔。
在這個步驟中,您建立了一個起程拓殖起程拓殖驗證項目定義的設置與您的工作區。你也定義設置起程拓殖的資源部署到您的工作空間中。
創建一個空目錄,然後切換到它。這個目錄包含起程拓殖項目文件。(每個單獨的組起程拓殖項目文件必須在自己的父目錄)。要做到這一點,在你的終端或PowerShell,運行一個命令如下:
mkdir terraform_cluster_notebook_job& &cdterraform_cluster_notebook_job
在這個空目錄中,創建一個文件命名auth.tf,並將以下內容添加到該文件。這個配置初始化數據磚起程拓殖起程拓殖與提供者和驗證您的工作區。
auth.tf
#初始化磚起程拓殖的提供者。起程拓殖{required_providers{磚={源=“磚/磚”}}}#使用環境變量進行身份驗證。提供者“磚”{}#獲取當前用戶的信息。數據“databricks_current_user”“我”{}
使用身份驗證配置完成後,現在可以起程拓殖項目初始化並開始定義磚資源。
運行起程拓殖初始化命令。這個命令初始化起程拓殖項目通過創建額外的輔助文件和下載必要的起程拓殖模塊。
起程拓殖初始化
起程拓殖init
如果要創建一個集群,創建另一個文件命名cluster.tf,並將以下內容添加到該文件。這些內容創建一個集群資源允許的最小數量。這個集群使用最新的磚(LTS)長期運行時支持的版本。
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
如果要創建一個筆記本,創建另一個文件命名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.tf文件:
Python的筆記本磚上運行你的第一個ETL工作負載,一個文件命名notebook-getting-started-etl-quick-start.py用下麵的內容:
notebook-getting-started-etl-quick-start.py
#磚筆記本的來源#導入功能從pyspark.sql.functions進口input_file_name,current_timestamp#定義變量中使用下麵的代碼file_path=“/ databricks-datasets / structured-streaming /事件”用戶名=火花。sql(的“選擇regexp_replace (current_user (), [^ a-zA-Z0-9)”,“_”)”)。第一個()(0]table_name=f”{用戶名}_etl_quickstart”checkpoint_path=f“/ tmp /{用戶名}/ _checkpoint / etl_quickstart”#從以前的演示執行清除數據火花。sql(f如果存在“刪除表{table_name}”)dbutils。fs。rm(checkpoint_path,真正的)#配置自動加載程序向三角洲攝取JSON數據表(火花。readStream。格式(“cloudFiles”)。選項(“cloudFiles.format”,“json”)。選項(“cloudFiles.schemaLocation”,checkpoint_path)。負載(file_path)。選擇(“*”,input_file_name()。別名(“source_file”),current_timestamp()。別名(“processing_time”))。writeStream。選項(“checkpointLocation”,checkpoint_path)。觸發(availableNow=真正的)。toTable(table_name))- - - - - - - - - - - #命令df=火花。讀。表(table_name)- - - - - - - - - - - #命令顯示(df)
SQL的筆記本與筆記本電腦教程:查詢數據,一個文件命名notebook-getting-started-quick-start.sql用下麵的內容:
notebook-getting-started-quick-start.sql
- - -磚筆記本源- - -魔法%python- - -魔法鑽石=(火花。讀- - -魔法。格式(“csv”)- - -魔法。選項(“頭”,“真正的”)- - -魔法。選項(“inferSchema”,“真正的”)- - -魔法。負載(“/ databricks-datasets / Rdatasets /數據- 001 / csv / ggplot2 / diamonds.csv”)- - -魔法)- - -魔法- - -魔法鑽石。寫。格式(“δ”)。保存(“/ mnt /δ/鑽石”)- - -命令- - - - - - - - - - -下降表如果存在鑽石;創建表鑽石使用δ位置“/ mnt /δ/鑽石”- - -命令- - - - - - - - - - -選擇顏色,avg(價格)作為價格從鑽石集團通過顏色訂單通過顏色
如果你創建的筆記本,創建另一個文件命名notebook.auto.tfvars,並將以下內容添加到該文件。這個文件包含定製筆記本配置的變量值。
notebook.auto.tfvars
Python的筆記本磚上運行你的第一個ETL工作負載:
notebook_subdirectory=“起程拓殖”notebook_filename=“notebook-getting-started-etl-quick-start.py”notebook_language=“巨蟒”
SQL的筆記本與筆記本電腦教程:查詢數據:
notebook_subdirectory=“起程拓殖”notebook_filename=“notebook-getting-started-quickstart.sql”notebook_language=“SQL”
如果你正在創建一個筆記本,磚工作區,一定要設置任何需求筆記本運行成功,通過引用以下說明:
Python的筆記本磚上運行你的第一個ETL工作負載
SQL的筆記本與筆記本電腦教程:查詢數據
如果你正在創建一個工作,創建另一個文件命名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=“我的工作”
在這個步驟中,您運行起程拓殖配置部署集群,筆記本,工作到磚工作區中。
檢查是否你起程拓殖配置是有效運行起程拓殖驗證命令。如果報告任何錯誤,修複它們,並再次運行該命令。
起程拓殖驗證
查看起程拓殖將做什麼在你的工作區,起程拓殖實際上它之前,通過運行起程拓殖計劃命令。
起程拓殖計劃
集群部署,筆記本,工作到您的工作空間中運行起程拓殖應用命令。當提示部署類型是的並按輸入。
起程拓殖應用
是的
起程拓殖部署在您的項目中指定的資源。部署這些資源(特別是集群)可能要占用幾分鍾的時間。
如果你創建了一個集群,在輸出的起程拓殖應用命令,複製鏈接旁邊cluster_url,並粘貼到您的web瀏覽器的地址欄。
cluster_url
如果你創建了一個筆記本,在輸出的起程拓殖應用命令,複製鏈接旁邊notebook_url,並粘貼到您的web瀏覽器的地址欄。
notebook_url
請注意
在使用筆記本之前,你可能需要定製它的內容。參見相關文檔如何定製筆記本。
如果您創建了一個工作,在的輸出起程拓殖應用命令,複製鏈接旁邊job_url,並粘貼到您的web瀏覽器的地址欄。
job_url
在運行筆記本之前,你可能需要定製它的內容。看到這篇文章的鏈接開始相關文檔如何定製筆記本。
如果您創建了一個工作,運行作業如下:
點擊現在運行在工作中頁麵。
工作完成後運行,查看工作運行的結果,完成運行60天(過去)工作列表頁麵,點擊最近時間條目開始時間列。的輸出窗格中顯示了筆記本的代碼運行的結果。
在這個步驟中,您從工作區中刪除前麵的資源。
刪除集群,筆記本,工作從您的工作空間中運行起程拓殖摧毀命令。當提示刪除類型是的並按輸入。
起程拓殖摧毀
起程拓殖項目中刪除指定的資源。