教程演示🔗
你会学到什么
-
利用 Databricks 功能的数据工程
-
Databricks CLI 用于管理数据工程管道的文件、数据工程作业和集群
-
在作业集群上部署使用 PySpark 开发的数据工程应用程序
-
在作业集群上使用笔记本部署使用 PySpark 开发的数据工程应用程序
-
使用 Spark SQL 为数据工程应用程序或管道执行利用 Delta Lake 的 CRUD 操作
-
使用 Pyspark 为数据工程应用程序或管道执行利用 Delta Lake 的 CRUD 操作
-
设置开发环境以使用 Databricks 开发数据工程应用程序
-
在 Databricks 集群上使用 Spark 结构化流构建数据工程管道
-
利用 Databricks Auto Loader cloudFiles 使用 Spark 结构化流进行增量文件处理
-
Auto Loader cloudFiles 文件发现模式概述 – 目录列表和文件通知
-
Auto Loader cloudFiles 文件发现模式之间的差异 – 目录列表和文件通知
-
传统 Spark 结构化流与利用 Databricks Auto Loader cloudFiles 进行增量文件处理之间的差异。
要求
-
使用Python进行编程的经验
-
使用 Spark 的数据工程经验
-
能够编写和解释 SQL 查询
-
本课程非常适合经验丰富的数据工程师将 Databricks 添加为个人资料中的关键技能之一
描述
作为本课程的一部分,您将使用称为 Databricks 的与云平台无关的技术来学习所有数据工程。
关于数据工程
数据工程只不过是根据我们的下游需求处理数据。作为数据工程的一部分,我们需要构建不同的管道,例如批处理管道、流管道等。与数据处理相关的所有角色都合并在数据工程下。通常,它们被称为 ETL 开发、数据仓库开发等。
关于Databricks
Databricks 是最流行的与云平台无关的数据工程技术堆栈。他们是 Apache Spark 项目的提交者。Databricks 运行时为 Spark 提供了利用云的弹性的能力。使用 Databricks,您可以按使用量付费。在一段时间内,他们通过提供传统 BI 以及 AI 和 ML 所需的所有功能,提出了 Lakehouse 的想法。以下是 Databricks 的一些核心功能。
- Spark – 分布式计算
- Delta Lake – 执行 CRUD 操作。它主要用于构建诸如从 Data Lake 中的文件插入、更新和删除数据等功能。
- cloudFiles – 利用云功能以最有效的方式以增量方式获取文件。
- Databricks SQL – 一个基于 Photon 的界面,经过微调以运行为报告工具提交的报告和可视化查询。它还用于临时分析。
课程详情
作为本课程的一部分,您将使用 Databricks 学习数据工程。
- 开始使用 Databricks
- 设置本地开发环境以使用 Databricks 开发数据工程应用程序
- 使用 Databricks CLI 管理与数据工程应用程序相关的文件、作业、集群等
- Spark 应用程序开发周期构建数据工程应用程序
- Databricks 作业和集群
- 在 Databricks 作业集群上作为 Python 应用程序部署和运行数据工程作业
- 使用笔记本在 Databricks 作业集群上部署和运行数据工程作业
- 使用 Databricks 平台上的 Dataframe 深入研究 Delta Lake
- 在 Databricks 平台上使用 Spark SQL 深入研究 Delta Lake
- 在 Databricks 集群上使用 Spark 结构化流构建数据工程管道
- 利用 Databricks Auto Loader cloudFiles 使用 Spark 结构化流进行增量文件处理
- AutoLoader cloudFiles 文件发现模式概述 – 目录列表和文件通知
- Auto Loader cloudFiles 文件发现模式之间的差异 – 目录列表和文件通知
- 传统 Spark 结构化流与利用 Databricks Auto Loader cloudFiles 进行增量文件处理之间的差异。
- 用于数据分析和报告的 Databricks SQL 概述。
在接下来的几周内,我们将添加更多与 Pyspark、Spark with Scala、Spark SQL 和 Streaming Pipelines 相关的模块。
期望的观众
这是本高级课程的目标受众。
- 经验丰富的应用程序开发人员可以凭借 Spark 的先验知识和经验获得与数据工程相关的专业知识。
- 经验丰富的数据工程师获得足够的技能,将 Databricks 添加到他们的个人资料中。
- 测试人员使用 Databricks 提高与数据工程应用程序相关的测试能力。
先决条件
- 后勤
- 配置不错的计算机(至少 4 GB RAM,但非常需要 8 GB)
- 需要双核,并且非常需要四核
- Chrome 浏览器
- 高速互联网
- 有效的 AWS 账户
- 有效的 Databricks 帐户(免费的 Databricks 帐户是不够的)
- 数据工程师经验,尤其是使用 Apache Spark 的经验
- 了解一些云概念,例如存储、用户、角色等。
相关费用
作为培训的一部分,您只会获得材料。您需要在自己或公司的云帐户和 Databricks 帐户上进行练习。
- 您需要承担相关的 AWS 或 Azure 成本。
- 您需要处理相关的 Databricks 成本。
培训方式
以下是与培训方法相关的详细信息。
- 它包含作为 Udemy 的一部分提供的参考资料、代码片段和视频,您可以自定进度。
- 需要注册自己的 Databricks 环境才能练习 Databricks 的所有核心功能。
- 我们建议每周花4 到 5 个小时完成2 个模块。
- 强烈建议您完成所有任务,以便获得真正的 Databricks 体验。
这是详细的课程大纲。
Azure 上的 Databricks 入门
作为本节的一部分,我们将详细介绍有关注册 Azure 以及在 Azure 上设置 Databricks 集群的详细信息。
- Azure 上的 Databricks 入门
- 注册 Azure 帐户
- 登录并增加 Azure 中区域 vCPU 的配额
- 创建 Azure Databricks 工作区
- 启动 Azure Databricks 工作区或群集
- Azure Databricks UI 快速演练
- 创建 Azure Databricks 单节点集群
- 使用 Azure Databricks UI 上传数据
- 使用 Azure Databricks 创建笔记本和验证文件的概述
- 使用 Azure Databricks Notebook 开发 Spark 应用程序
- 使用 Azure Databricks Notebook 验证 Spark 作业
- Azure Databricks 笔记本的导出和导入
- 终止 Azure Databricks 集群并删除配置
- 通过删除资源组来删除 Azure Databricks 工作区
Databricks 的 Azure Essentials – Azure CLI
作为本节的一部分,我们将详细介绍如何设置 Azure CLI 以使用相关命令管理 Azure 资源。
- Databricks 的 Azure Essentials – Azure CLI
- 使用 Azure 门户 Cloud Shell 的 Azure CLI
- Mac 上的 Azure CLI 入门
- Windows 上的 Azure CLI 入门
- 使用 Azure CLI 预热 – 概述
- 使用 Azure CLI 创建资源组
- 在资源组中创建 ADLS 存储帐户
- 添加容器作为存储帐户的一部分
- 将数据上传到 ADLS 文件系统或容器的概述
- 在本地设置数据集以上传到 ADLS 文件系统或容器
- 将本地目录上传到 Azure ADLS 文件系统或容器
- 使用 Azure CLI 删除 Azure ADLS 存储帐户
- 使用 Azure CLI 删除 Azure 资源组
将 ADLS 装载到 Azure Databricks 以访问 Azure Blob 存储中的文件
作为本节的一部分,我们将详细介绍与将 Azure Data Lake Storage (ADLS) 安装到 Azure Databricks 群集相关的详细信息。
- 将 ADLS 装载到 Azure Databricks – 简介
- 确保 Azure Databricks 工作区
- 使用 Python 虚拟环境在 Mac 或 Windows 上设置 Databricks CLI
- 为新的 Azure Databricks 工作区配置 Databricks CLI
- 注册 Azure Active Directory 应用程序
- 为 AD 应用程序客户端密钥创建 Databricks 密钥
- 创建 ADLS 存储帐户
- 将存储帐户上的 IAM 角色分配给 Azure AD 应用程序
- 设置零售数据库数据集
- 创建ADLS容器或文件系统并上传数据
- 启动Databricks集群挂载ADLS
- 将 ADLS 存储帐户挂载到 Azure Databricks
- 验证 Azure Databricks 群集上的 ADLS 装载点
- 从 Databricks 卸载挂载点
- 删除用于将 ADLS 挂载到 Azure Databricks 的 Azure 资源组
为 Databricks 设置本地开发环境
作为本节的一部分,我们将详细介绍如何使用 Pycharm、Databricks dbconnect、Databricks dbutils 等工具为 Databricks 设置本地开发环境。
- 设置单节点 Databricks 集群
- 安装 Databricks 连接
- 配置 Databricks 连接
- 将 Pycharm 与 Databricks Connect 集成
- 将 Databricks 集群与 Glue Catalog 集成
- 设置AWS s3存储桶并授予权限
- 将 s3 桶安装到 Databricks 集群中
- 使用 Pycharm 等 IDE 中的 Databricks dbutils
使用 Databricks CLI
作为本节的一部分,我们将概述 Databricks CLI 与 Databricks 文件系统或 DBFS 进行交互。
- Databricks CLI 简介
- 安装和配置 Databricks CLI
- 使用 Databricks CLI 与 Databricks 文件系统交互
- 使用 Databricks CLI 获取 Databricks 集群详细信息
Databricks 作业和集群
作为本节的一部分,我们将详细介绍与 Databricks 作业和集群相关的详细信息。
- Databricks 作业和集群简介
- 在 Databricks 平台中创建池
- 在 Azure Databricks 上创建集群
- 请求增加 Azure 上的 CPU 配额
- 在 Databricks 上创建作业
- 使用 Databricks 作业集群提交作业
- 在 Databricks 中创建池
- 使用附加到池的交互式 Databricks 集群运行作业
- 使用附加到池的 Databricks 作业集群运行作业
- 练习 – 使用 Databricks 交互式集群将应用程序作为作业提交
在 Databricks 上部署和运行 Spark 应用程序
作为本节的一部分,我们将详细介绍与在 Databricks 集群上部署 Spark 应用程序以及运行这些应用程序相关的详细信息。
- 为 Databricks 准备 PyCharm
- 准备数据集
- 将文件移动到 ghactivity
- Databricks 的重构代码
- 使用 Databricks 验证数据
- 为生产部署设置数据集
- 使用 Databricks dbutils 访问文件元数据
- 为 Databricks 构建可部署包
- 使用 Databricks Web UI 运行作业
- 使用 Databricks CLI 获取作业和运行详细信息
- 使用 CLI 提交 Databricks 作业
- 设置和验证 Databricks 客户端库
- 使用 Databricks Jobs API 重置作业
- 使用 Python 以编程方式运行 Databricks 作业
- 使用 Databricks Notebooks 详细验证数据
使用笔记本部署和运行 Spark 作业
作为本节的一部分,我们将详细介绍与在 Databricks 集群上部署 Spark 应用程序以及使用 Databricks Notebook 运行这些应用程序相关的详细信息。
- 模块化 Databricks 笔记本
- 使用 Databricks Notebook 运行作业
- 将应用程序重构为 Databricks Notebooks
- 使用 Databricks 开发集群运行 Notebook
使用 Databricks 上的 Spark 数据帧深入研究 Delta Lake
作为本节的一部分,我们将使用 Spark Data Frames 介绍与 Databricks Delta Lake 相关的所有重要细节。
- 使用 Databricks 上的 Spark 数据帧介绍 Delta Lake
- 在 Databricks 上为 Delta Lake 创建 Spark 数据帧
- 在 Databricks 上使用 Delta 格式编写 Spark 数据帧
- 使用 Databricks 上的 Delta 格式更新现有数据
- 使用 Databricks 上的 Delta 格式删除现有数据
- 在 Databricks 上使用 Delta 格式合并或更新数据
- 在 Databricks 的 Delta Lake 中使用 Merge 进行删除
- 在 Databricks 上使用 Delta Logs 进行快照恢复
- 使用 Databricks 上的 Vacuum 删除不必要的增量文件
- Databricks 上 Delta Lake 文件的压缩
在 Databricks 上使用 Spark SQL 深入研究 Delta Lake
作为本节的一部分,我们将使用 Spark SQL 介绍与 Databricks Delta Lake 相关的所有重要细节。
- 在 Databricks 上使用 Spark SQL 的 Delta Lake 简介
- 在 Databricks 上使用 Spark SQL 创建 Delta Lake 表
- 在 Databricks 上使用 Spark SQL 将数据插入到 Delta Lake 表
- 在 Databricks 上使用 Spark SQL 更新 Delta Lake 表中的数据
- 在 Databricks 上使用 Spark SQL 从 Delta Lake 表中删除数据
- 使用 Databricks 上的 Spark SQL 将数据合并或更新到 Delta Lake 表中
- 在 Databricks 上使用 Spark SQL 对 Delta Lake 表使用合并功能
- 使用 Databricks 上的 Spark SQL 使用 Delta Lake 表进行快照恢复的要点
- 在 Databricks 上使用 Spark SQL 清理 Delta Lake 表
- 在 Databricks 上使用 Spark SQL 压缩 Delta Lake 表
通过 Web 和 SSH 访问 Databricks 集群终端
作为本节的一部分,我们将了解如何通过 Web 和 SSH 访问与 Databricks Cluster 相关的终端。
- 在 Databricks 管理控制台中启用 Web 终端
- 为 Databricks 集群启动 Web 终端
- 为 Databricks 集群驱动程序节点设置 SSH
- 验证与 AWS 上的 Databricks 驱动程序节点的 SSH 连接
- SSH 的局限性以及与 Databricks 集群相关的 Web 终端的比较
使用 init 脚本在 Databricks 集群上安装软件
作为本节的一部分,我们将了解如何通过为我们的应用程序安装相关的第 3 方库来引导 Databricks 集群。
- 在 Databricks 集群上设置 gen_logs
- Databricks 集群的初始化脚本概述
- 创建脚本以在 Databricks 集群上从 git 安装软件
- 将初始化脚本复制到 dbfs 位置
- 使用 init 脚本创建 Databricks 独立集群
Spark 结构化流快速回顾
作为本节的一部分,我们将快速回顾 Spark 结构化流。
- 在 Databricks 驱动程序节点上验证 Netcat
- 将日志消息推送到 Databricks 驱动程序节点上的 Netcat Web 服务器
- 使用 Spark 结构化流读取 Web 服务器日志
- 将流数据写入文件
在 Databricks 上使用 Spark 结构化流进行增量加载
作为本节的一部分,我们将了解如何在 Databricks 上使用 Spark 结构化流执行增量加载。
- Spark 结构化流概述
- Databricks 上增量数据处理的步骤
- 使用实例配置文件配置 Databricks 集群
- 使用 Databricks Notebooks 将 GHArchive 文件上传到 AWS s3
- 在 Databricks 上使用 Spark 结构化流读取 JSON 数据
- 使用 Databricks 上的 Trigger Once 使用 Delta 文件格式进行写入
- 使用 Databricks 上的 Spark 分析 Delta 文件中的 GHArchive 数据
- 在 Databricks 上添加新的 GHActivity JSON 文件
- 将数据增量加载到 Databricks 上的目标表
- 验证 Databricks 上的增量负载
- Databricks 上 Spark 结构化流文件处理的内部原理
在 Databricks 上使用 autoLoader 云文件进行增量加载
作为本节的一部分,我们将了解如何在 Databricks 集群上使用 autoLoader cloudFiles 执行增量加载。
- Databricks 上的 AutoLoader cloudFiles 概述
- 将 GHArchive 文件上传到 Databricks 上的 s3
- 在 Databricks 上使用 AutoLoader cloudFiles 写入数据
- 在 Databricks 上添加新的 GHActivity JSON 文件
- 将数据增量加载到 Databricks 上的目标表
- 在 Databricks 上添加新的 GHActivity JSON 文件
- 在 Databricks 上使用 AWS 服务处理 S3 事件概述
- 为 Databricks 上的 cloudFiles 文件通知配置 IAM 角色
- 在 Databricks 上使用 cloudFiles 文件通知进行增量加载
- 在 Databricks 上查看 CloudFiles 事件通知的 AWS 服务
- 查看为 Databricks 上的 cloudFiles 检查点生成的元数据
Databricks SQL 集群概述
作为本节的一部分,我们将概述 Databricks SQL 集群。
- Databricks SQL 平台概述 – 简介
- 使用 Databricks SQL 的 SQL 编辑器运行第一个查询
- 使用 Databricks SQL 的仪表板概述
- Databricks SQL Data Explorer 概览以查看 Metastore 数据库和表
- 使用 Databricks SQL 编辑器开发脚本或查询
- 使用 Databricks SQL 平台查看表的元数据
- 将数据加载到 retail_db 表的概述
- 配置 Databricks CLI 以将数据推送到 Databricks 平台
- 使用 Databricks CLI 将 JSON 数据复制到 DBFS
- 使用 Spark API 分析 JSON 数据
- 使用 Spark API 分析增量表模式
- 将 Spark 数据帧中的数据加载到 Delta 表中
- 使用 Databricks SQL 编辑器运行临时查询来验证数据
- 使用 Databricks SQL 的外部表概述
- 使用 COPY 命令将数据复制到 Delta 表中
- 管理 Databricks SQL 端点
本课程适合谁:
- 想要学习 Databricks 进行数据工程的初级或中级数据工程师
- 想要使用 Databricks 探索数据工程的中级应用工程师
- 想要使用 Databricks 学习数据工程的数据和分析工程师
- 想要学习 Databricks 来测试使用 Databricks 构建的数据工程应用程序的测试人员