开始
用户指南
管理指南
参考指南
资源
2022年12月22日更新
给我们反馈
了解如何使用Databricks提供的生产就绪工具来开发和部署用于数据编排的第一个提取、转换和加载(ETL)管道。
在本文结束时,你会觉得很舒服:
启动Databricks通用计算集群.
创建Databricks笔记本.
使用Auto Loader配置增量数据摄取到Delta Lake.
执行笔记本单元格来处理、查询和预览数据.
将笔记本调度为Databricks作业.
本教程使用交互式笔记本在Python或Scala中完成常见的ETL任务。
您还可以使用Delta Live Tables来构建ETL管道。Databricks创建了Delta Live Tables,以降低构建、部署和维护生产ETL管道的复杂性。看到Delta Live Tables快速入门.
你也可以使用Databricks Terraform提供商创建本文的资源。看到使用Terraform创建集群、笔记本和作业.
您已经登录到Databricks,并且处于Data Science & Engineering工作区。有关更多信息,请参见开始:免费试用和安装.
你有创建集群权限.
请注意
如果您没有集群控制权限,只要您有,您仍然可以完成下面的大部分步骤访问集群.
如果您只能访问Databricks SQL工作区,请参见:以数据分析师的身份开始Databricks.
要进行探索性数据分析和数据工程,可以创建一个集群来提供执行命令所需的计算资源。
点击计算在侧栏中。
在“计算池”页面,单击创建集群.这将打开New Cluster页面。
为集群指定唯一的名称,其余值保持默认状态,单击创建集群.
要了解BOB低频彩有关Databricks集群的更多信息,请参见集群.
要开始在Databricks上编写和执行交互式代码,请创建一个笔记本。
点击新在侧栏中,然后单击笔记本.
在“创建笔记本”界面:
为笔记本指定唯一的名称。
确保默认语言设置为PythonorgydF4y2BaScala.
选择步骤1中创建的集群集群下拉。
点击创建.
笔记本打开时顶部有一个空单元格。
有关创BOB低频彩建和管理笔记本电脑的详细信息,请参见管理笔记本.
Databricks推荐使用自动加载程序用于增量数据摄取。Auto Loader自动检测和处理新文件,因为他们到达云对象存储。
Databricks建议使用三角洲湖.Delta Lake是一个开源存储bob下载地址层,它提供ACID事务并支持数据湖屋。Delta Lake是在Databricks中创建的表的默认格式。
要配置Auto Loader以摄取数据到Delta Lake表,请将以下代码复制并粘贴到笔记本中的空单元格中:
#导入函数从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数据到Delta表(火花.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))
/ /进口进口org.apache.火花.sql.功能{。input_file_name,current_timestamp}进口org.apache.火花.sql.流媒体.触发进口火花.值得一提的._//定义下面代码中使用的变量瓦尔file_path=“/ databricks-datasets / structured-streaming /事件”瓦尔用户名=火花.sql(的“选择regexp_replace (current_user (), [^ a-zA-Z0-9)”,“_”)”).第一个.得到(0)瓦尔table_name=s”$ {用户名}_etl_quickstart”瓦尔checkpoint_path=“/ tmp /$ {用户名}/ _checkpoint”//清除之前demo执行的数据火花.sql(如果存在,删除表$ {table_name}")dbutils.fs.rm(checkpoint_path,真正的)//配置Auto Loader将JSON数据导入Delta表火花.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)
这段代码中定义的变量应该允许您安全地执行它,而不会有与现有工作区资产或其他用户冲突的风险。在执行此代码时,受限制的网络或存储权限将引发错误;请与工作区管理员联系以排除这些限制。
要了解BOB低频彩有关自动装载机的更多信息,请参见什么是自动加载器?.
笔记本逐个单元执行逻辑。要在单元格中执行逻辑:
要运行在上一步中完成的单元格,选择单元格并按下SHIFT + ENTER.
若要查询刚刚创建的表,请将以下代码复制并粘贴到空单元格中,然后按SHIFT + ENTER运行单元格。
df=火花.读.表格(table_name)
瓦尔df=火花.读.表格(table_name)
要预览DataFrame中的数据,请将以下代码复制并粘贴到空单元格中,然后按SHIFT + ENTER运行单元格。
显示(df)
有关可BOB低频彩视化数据的交互选项的详细信息,请参见可视化.
通过将Databricks笔记本添加为Databricks作业中的任务,可以将它们作为生产脚本运行。在这一步中,您将创建一个可以手动触发的新作业。
把你的笔记本安排为一项任务:
点击时间表在标题栏的右侧。
属性的惟一名称作业名.
点击手册.
在集群下拉菜单,选择步骤1中创建的集群。
在出现的窗口中,单击现在运行.
要查看作业运行结果,请单击图标旁边的最后一次运行时间戳。
有关作业的更多信息,请参见创建、运行和管理Databricks作业.
BOB低频彩使用Databricks了解更多关于数据工程集成和工具的信息:
连接您最喜欢的IDE
使用dbt和Databricks
了解Databricks CLI (Command Line Interface)
了解Databricks Terraform Provider