Azure Databricks入门 - 概述
分类: Azure Databricks ◆ 标签: #Azure #入门 #Databricks ◆ 发布于: 2023-06-18 19:54:40

我开始学习Azure Databricks
的时候遇到的最大困难是没有搞清楚Azure Databicks
里面各种各样的名词和概念,这极大的阻碍了我学习该服务的热情和进度。认识到了这个问题之后,我调整了自己的方向,花了一些时间整理了Azure Databricks
的基本结构,以及众多的工具和名词,后面再学习这个服务就感觉顺畅了很多,我将这个学习过程记录下来,就有了这个系列的入门文章了。
学习Azure Databricks
的时候首先要明确的是Azure Databricks
是为谁准备的平台?
总结下来这样几类人群是该服务的目标人群:
- 数据科学家
- 数据分析工程师
- 机器学习工程师
为了向这几类人群提供更好工具和服务,Azure Databricks
将自己的服务形态归结为了三类:
- 数据科学家和数据工程师
- 机器学习
Databricks SQL
看到这里大概率会比较晕,没有关系我们会继续学习。
Azure Databricks
官方文档定义是一个数据分析平台,既然是数据分析平台它势必会要具备如下几个功能:
- 数据提取
- 数据转换以及其他处理
- 数据存储
除了这几个功能之外,Azure Databricks
还提供了数据仓库(LakeHouse)的功能。
它架构于开源软件Apache Spark
之上, 基于云平台,提供了众多的工具来一起完成上述的各种功能要求,我们按照功能来分:
- 数据提取: 提供各种基于
Spark
的Connector
从多种数据源中提取数据,例如可以简单上传文本文件或者多种开源格式的文件,也可以从各种Azure
集成的服务,例如Azure Storage
,Azure Event Hub
,IoT Hub
,或其他的开源服务,例如Hive Table
等提取数据。同时支持批量数据提取和实时流数据提取。 - 数据转换以及其他的各种处理:基于开源的
Spark
的各种低级API
, 例如基于Python
,Scala
,Java
的API, 高级的API
, 例如Spark.SQL
, 用户它们进行数据转换。还提供了默认集成的Delta Lake
, 这包括Delta table
,Delta View
, 以及funciton
, 也可以用于转换和处理数据。还提供了Delta Live Table
用于定义Data pipeline
基于workflow
的形式来处理数据提取和转换,这里每一项技术可以单独使用,也可以并行来处理。 - 提供了
LakeHouse
,它集合了Data warehouse
和Data lake
的优点,用于商业BI
, 方便和BI
的分析工具集成。
我们上面大致的列出了Azure Databricks
提供的工具,但是实际上还有更多的工具:
Notebook
,Job
,ODBC/JDBC集成
:Azure Databricks
使用notebook
和job
进行交互。也可以通过python
或者java
通过jdbc
和odbc
连接执行一系列的任务。Rest API
: 提供一些类的rest api
完成各种资源管理的工作,例如集群创建,job提交监控等等。DBFS
: 架构于其他抽象之上的文件系统,用于操作Azure Databricks
的数据存取工作。- 集群:通过提供三种类型的集群完成不同的工作场景:All-purpose Cluster, Job Cluster, Singe Node cluster.
Workspace
: 除了通过rest api
来管理整个服务和资源,也可以通过UI
形式的worksapce 来管理资源。Databricks CLI
: 提供命令行工具用于管理资源。
借用官方的一张图来大致的说明一下Azure Databricks
的基本架构图:
我们需要对这个架构图做一些说明:
Azure Databricks
分为两个主要的部分:
Control Panel
: 这个部分是由于Azure
来管理的,这里部分所有的数据是由Azure Databricks
这个服务的内部订阅来存储,它包括一些后端服务,用户的Notebook
的定义,以及workspace
的配置等,这部分是加密储存的。Data Panel
: 这个部分是由用户的订阅来管理的,是用户数据保存的主要位置,用户也可以用连接器链接外部的资源。
Tips
Notebook
数据是同时存储在Control Panel
和Data Panel
中的,例如notebook
的定义或者某些meta
数据会存在Control Panel
中,但是结果是会存储在Data Panel
中的。
我们后面的章节会继续学习Azure Databricks
。