开始
加载和管理数据
处理数据
政府
引用和资源
2023年8月1日更新
给我们反馈
本文将展示如何使用砖起程拓殖的提供者创建一个集群,一个笔记本和一个工作在现有的砖工作空间。
这篇文章是一个同伴砖开始的文章如下:
砖上运行你的第一个ETL工作负载使用一个通用的集群,Python的笔记本,笔记本运行工作。
与笔记本电脑教程:查询数据,它使用一个通用的集群和一个SQL笔记本。
起程拓殖配置还可以适应在本文中创建自定义集群,笔记本电脑,和工作在你的工作区。
一个砖的工作区。
一个砖个人访问令牌起程拓殖叫砖api,允许在你的砖工作区。另请参阅管理个人访问令牌。
本地开发机器上,您必须:
起程拓殖CLI。看到下载起程拓殖在起程拓殖网站上。
下列之一:
砖CLI版本0.200或更高版本,配置你的砖个人访问令牌通过运行砖配置——主机< workspace-url >——简介< some-unique-profile-name >。看到安装CLI和砖个人访问令牌认证。
砖配置——主机< workspace-url >——简介< some-unique-profile-name >
以下两个砖环境变量:
DATABRICKS_HOST的值,设置为你的砖工作区实例URL例如,https://1234567890123456.7.gcp.www.neidfyre.com
DATABRICKS_HOST
https://1234567890123456.7.gcp.www.neidfyre.com
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进口上校,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)。选择(“*”,上校(“_metadata.file_path”)。别名(“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天(过去)工作列表页面,点击最近时间条目开始时间列。的输出窗格中显示了笔记本的代码运行的结果。
在这个步骤中,您从工作区中删除前面的资源。
删除集群,笔记本,工作从您的工作空间中运行起程拓殖摧毁命令。当提示删除类型是的并按输入。
起程拓殖摧毁
起程拓殖项目中删除指定的资源。