入门:免费试用版和设置
如果不熟悉 Azure Databricks,可以从这里开始。 了解如何设置免费试用版和云帐户。 有关更多联机培训资源的信息,请参阅获取免费的 Databricks 培训。
创建 Azure Databricks 工作区
Databricks 建议使用 Azure 门户部署第一个 Azure Databricks 工作区。 也可使用以下选项之一部署 Azure Databricks:
- 使用 Azure CLI 部署 Azure Databricks
- 使用 PowerShell 部署 Azure Databricks
- 使用 Azure 模板部署 Azure Databricks
- 使用 Bicep 部署 Azure Databricks
注意
创建 Azure Databricks 工作区时,可以选择“试用版(高级 - 14天免费 DBU)”定价层,让工作区访问免费的高级 Azure Databricks DBU 14 天。
准备阶段
- 必须具有不是免费试用版订阅的 Azure 订阅。 如果你有免费帐户,请完成以下步骤:
- 转到个人资料并将订阅更改为“即用即付”。 请参阅 Azure 免费帐户。
- 移除支出限制。
- 对你所在区域中的 vCPU 请求增加配额。
- 登录 Azure 门户。
- 必须是 Azure 参与者或所有者,或者必须在订阅中注册 Microsoft.ManagedIdentity 资源提供程序。 有关说明,请查看注册资源提供程序。
使用该门户创建 Azure Databricks 工作区
在 Azure 门户中,选择“创建资源”“分析”“Azure Databricks”。
在“Azure Databricks 服务”下,提供所需的值以创建 Databricks 工作区。
Property 说明 工作区名称 提供 Databricks 工作区的名称 订阅 从下拉列表中选择自己的 Azure 订阅。 资源组 指定是要创建新的资源组还是使用现有的资源组。 资源组是用于保存 Azure 解决方案相关资源的容器。 有关详细信息,请参阅 Azure 资源组概述。 位置 选择“美国西部 2” 。 有关其他可用区域,请参阅各区域推出的 Azure 服务。 定价层 在“标准”、“高级”和“试用”之间进行选择。 有关这些层的详细信息,请参阅 Databricks 价格页。 选择“查看 + 创建”,然后选择“创建” 。 创建工作区需要几分钟时间。 创建工作区时,可以在“通知”中查看部署状态。 完成此过程后,你的用户帐户将自动添加为工作区的管理员用户。
注意
当工作区部署失败时,仍然会在失败状态下创建工作区。 删除失败的工作区,并创建一个解决部署错误的新工作区。 删除失败的工作区时,托管资源组和任何成功部署的资源也将被删除。
使用 Azure CLI 部署 Azure Databricks
步骤 1:登录
如果使用的是 CLI 的本地安装,请使用 az login 命令登录。
az login
遵循终端中显示的步骤完成身份验证过程。
步骤 2:安装 Azure CLI 扩展
使用 Azure CLI 的扩展引用时,必须先安装该扩展。 借助 Azure CLI 扩展,可访问尚未在核心 CLI 中提供的试验性和预发布的命令。 若要详细了解包含更新和卸载的扩展,请参阅使用 Azure CLI 的扩展。
运行以下命令,安装 Databricks 扩展:
az extension add --name databricks
步骤 3:创建资源组
与所有 Azure 资源一样,Azure Databricks 也必须部署到资源组中。 使用资源组可以组织和管理相关的 Azure 资源。
对于本快速入门,请使用以下 az group create 命令在 westus2 位置创建名为 _ databricks-quickstart _ 的资源组:
az group create --name databricks-quickstart --location westus2
步骤 4:创建 Azure Databricks 工作区
使用 az databricks workspace create 创建 Azure Databricks 工作区。
az databricks workspace create
--resource-group databricks-quickstart \
--name mydatabricksws \
--location westus \
--sku standard
使用 PowerShell 部署 Azure Databricks
注意
如果选择在本地使用 PowerShell,则本文要求安装 Az PowerShell 模块,并使用 Connect-AzAccount cmdlet 连接到 Azure 帐户。 有关安装 Az PowerShell 模块的详细信息,请参阅安装 Azure PowerShell。
重要
尽管 Az.Databricks PowerShell 模块为预览版,但必须使用以下命令从 Az PowerShell 模块单独安装它:Install-Module -Name Az.Databricks -AllowPrerelease
。 Az.Databricks PowerShell 模块正式版推出后,它会包含在将来的 Az PowerShell 模块发行版中,并在 Azure Cloud Shell 中原生提供。
注意
如果要在持有美国政府合规性认证(如 FedRAMP High)的 Azure 商业云中创建 Azure Databricks 工作区,请联系你的 Microsoft 代表或 Databricks 代表以获得这种体验的访问权限。
如果这是你第一次使用 Azure Databricks,则必须注册 Microsoft.Databricks 资源提供程序。
Register-AzResourceProvider -ProviderNamespace Microsoft.Databricks
使用 Azure Cloud Shell
Azure 托管 Azure Cloud Shell(一个可通过浏览器使用的交互式 shell 环境)。 可以将 Bash 或 PowerShell 与 Cloud Shell 配合使用来使用 Azure 服务。 可以使用 Azure Cloud Shell 预安装的命令来运行本文中的代码,而不必在本地环境中安装任何内容。
若要启动 Azure Cloud Shell,请执行以下操作:
- 选择代码块右上角的“试用”。 选择“试用”不会自动将代码复制到 Cloud Shell。
- 转到 https://shell.azure.com 或选择“启动 Cloud Shell”按钮可在浏览器中打开 Cloud Shell。
- 选择 Azure 门户右上角菜单栏上的 Cloud Shell 按钮。
若要在 Azure Cloud Shell 中运行本文中的代码,请执行以下操作:
- 启动 Cloud Shell。
- 选择代码块上的“复制”按钮以复制代码。
- 在 Windows 和 Linux 上选择 Ctrl+Shift+V 将代码粘贴到 Cloud Shell 会话中,或在 macOS 上选择 Cmd+Shift+V 将代码粘贴到 Cloud Shell 会话中。
- 选择 Enter 运行此代码。
如果有多个 Azure 订阅,请选择应当计费的资源所在的相应订阅。 使用 Set-AzContext cmdlet 选择特定的订阅 ID。
Set-AzContext -SubscriptionId 00000000-0000-0000-0000-000000000000
创建资源组
使用 New-AzResourceGroup cmdlet 创建 Azure 资源组。 资源组是在其中以组的形式部署和管理 Azure 资源的逻辑容器。
以下示例在“美国西部 2”区域创建名为“myresourcegroup”的资源组。
New-AzResourceGroup -Name myresourcegroup -Location westus2
创建 Azure Databricks 工作区
在本部分,使用 PowerShell 创建 Azure Databricks 工作区。
New-AzDatabricksWorkspace -Name mydatabricksws -ResourceGroupName myresourcegroup -Location westus2 -ManagedResourceGroupName databricks-group -Sku standard
提供以下值:
属性 | 说明 |
---|---|
名称 | 提供 Databricks 工作区的名称 |
ResourceGroupName | 指定现有资源组名称 |
位置 | 选择“美国西部 2”。 有关其他可用区域,请参阅各区域推出的 Azure 服务 |
ManagedResourceGroupName | 指定是要创建新的受管理资源组还是使用现有受管理资源组。 |
SKU | 在“标准”、“高级”和“试用”之间进行选择。 有关这些层的详细信息,请参阅 Databricks 定价 |
创建工作区需要几分钟时间。 完成此过程后,你的用户帐户将自动添加为工作区的管理员用户。
注意
当工作区部署失败时,仍然会在失败状态下创建工作区。 删除失败的工作区,并创建一个解决部署错误的新工作区。 删除失败的工作区时,托管资源组和任何成功部署的资源也将被删除。
确定 Databricks 工作区的预配状态
若要确定 Databricks 工作区是否已成功预配,可以使用 Get-AzDatabricksWorkspace
cmdlet。
Get-AzDatabricksWorkspace -Name mydatabricksws -ResourceGroupName myresourcegroup |
Select-Object -Property Name, SkuName, Location, ProvisioningState
Name SkuName Location ProvisioningState
---- ------- -------- -----------------
mydatabricksws standard westus2 Succeeded
使用 Azure 模板部署 Azure Databricks
ARM 模板是定义项目基础结构和配置的 JavaScript 对象表示法 (JSON) 文件。 该模板使用声明性语法,使你可以声明要部署的内容,而不需要编写一系列编程命令来进行创建。
如果你的环境满足先决条件,而且你熟悉如何使用 ARM 模板,请选择“部署到 Azure”按钮。 Azure 门户中会打开模板。
查看模板
本快速入门中使用的模板来自 Azure 快速启动模板。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.5.6.12127",
"templateHash": "14509124136721506545"
}
},
"parameters": {
"disablePublicIp": {
"type": "bool",
"defaultValue": false,
"metadata": {
"description": "Specifies whether to deploy Azure Databricks workspace with Secure Cluster Connectivity (No Public IP) enabled or not"
}
},
"workspaceName": {
"type": "string",
"metadata": {
"description": "The name of the Azure Databricks workspace to create."
}
},
"pricingTier": {
"type": "string",
"defaultValue": "premium",
"allowedValues": [
"standard",
"premium"
],
"metadata": {
"description": "The pricing tier of workspace."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
}
},
"variables": {
"managedResourceGroupName": "[format('databricks-rg-{0}-{1}', parameters('workspaceName'), uniqueString(parameters('workspaceName'), resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Databricks/workspaces",
"apiVersion": "2018-04-01",
"name": "[parameters('workspaceName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('pricingTier')]"
},
"properties": {
"managedResourceGroupId": "[subscriptionResourceId('Microsoft.Resources/resourceGroups', variables('managedResourceGroupName'))]",
"parameters": {
"enableNoPublicIp": {
"value": "[parameters('disablePublicIp')]"
}
}
}
}
],
"outputs": {
"workspace": {
"type": "object",
"value": "[reference(resourceId('Microsoft.Databricks/workspaces', parameters('workspaceName')))]"
}
}
}
模板中定义的 Azure 资源是 Microsoft.Databricks/workspaces:创建 Azure Databricks 工作区。
部署模板
在本部分,你将使用 ARM 模板创建 Azure Databricks 工作区。
使用提供的链接登录到 Azure 并打开一个模板。
提供所需的以下值以创建 Azure Databricks 工作区:
属性 说明 订阅 从下拉列表中选择自己的 Azure 订阅。 资源组 指定是要创建新的资源组还是使用现有的资源组。 资源组是用于保存 Azure 解决方案相关资源的容器。 有关详细信息,请参阅 Azure 资源组概述。 位置 选择“美国东部 2”。 有关其他可用区域,请参阅各区域推出的 Azure 服务。 工作区名称 提供 Databricks 工作区的名称 定价层 选择“标准”或“高级”。 有关这些层的详细信息,请参阅 Databricks 价格页。 选择“查看 + 创建”,然后选择“创建” 。
创建工作区需要几分钟时间。 当工作区部署失败时,仍然会在失败状态下创建工作区。 删除失败的工作区,并创建一个解决部署错误的新工作区。 删除失败的工作区时,托管资源组和任何成功部署的资源也将被删除。
查看已部署的资源
可以使用 Azure 门户检查 Azure Databricks 工作区,或者使用以下 Azure CLI 或 Azure PowerShell 脚本来列出资源。
Azure CLI
echo "Enter your Azure Databricks workspace name:" &&
read databricksWorkspaceName &&
echo "Enter the resource group where the Azure Databricks workspace exists:" &&
read resourcegroupName &&
az databricks workspace show -g $resourcegroupName -n $databricksWorkspaceName
Azure PowerShell
$resourceGroupName = Read-Host -Prompt "Enter the resource group name where your Azure Databricks workspace exists"
(Get-AzResource -ResourceType "Microsoft.Databricks/workspaces" -ResourceGroupName $resourceGroupName).Name
Write-Host "Press [ENTER] to continue..."
使用 Bicep 部署 Azure Databricks
Bicep 是一种特定于域的语言 (DSL),使用声明性语法来部署 Azure 资源。 它提供简明的语法、可靠的类型安全性以及对代码重用的支持。 Bicep 会针对你的 Azure 基础结构即代码解决方案提供最佳创作体验。
查阅 Bicep 文件
本快速入门中使用的 Bicep 文件来自 Azure 快速入门模板。
@description('Specifies whether to deploy Azure Databricks workspace with Secure Cluster Connectivity (No Public IP) enabled or not')
param disablePublicIp bool = false
@description('The name of the Azure Databricks workspace to create.')
param workspaceName string
@description('The pricing tier of workspace.')
@allowed([
'standard'
'premium'
])
param pricingTier string = 'premium'
@description('Location for all resources.')
param location string = resourceGroup().location
var managedResourceGroupName = 'databricks-rg-${workspaceName}-${uniqueString(workspaceName, resourceGroup().id)}'
resource ws 'Microsoft.Databricks/workspaces@2018-04-01' = {
name: workspaceName
location: location
sku: {
name: pricingTier
}
properties: {
managedResourceGroupId: managedResourceGroup.id
parameters: {
enableNoPublicIp: {
value: disablePublicIp
}
}
}
}
resource managedResourceGroup 'Microsoft.Resources/resourceGroups@2021-04-01' existing = {
scope: subscription()
name: managedResourceGroupName
}
output workspace object = ws.properties
Bicep 文件中定义的 Azure 资源是 Microsoft.Databricks/workspaces:创建 Azure Databricks 工作区。
部署 Bicep 文件
- 将该 Bicep 文件另存为本地计算机上的 main.bicep。
- 使用 Azure CLI 或 Azure PowerShell 来部署该 Bicep 文件。
CLI
az group create --name exampleRG --location eastus
az deployment group create --resource-group exampleRG --template-file main.bicep --parameters workspaceName=<workspace-name>
PowerShell
New-AzResourceGroup -Name exampleRG -Location eastus
New-AzResourceGroupDeployment -ResourceGroupName exampleRG -TemplateFile ./main.bicep -workspaceName "<workspace-name>"
注意
将 <workspace-name>
替换为要创建的 Azure Databricks 工作区的名称。
部署完成后,应会看到一条指出部署成功的消息。
查看已部署的资源
使用 Azure 门户、Azure CLI 或 Azure PowerShell 列出资源组中已部署的资源。
CLI
az resource list --resource-group exampleRG
PowerShell
Get-AzResource -ResourceGroupName exampleRG
配置工作区和数据权限
Azure Databricks 将某些活动限制为工作区管理员,以确保客户能够安全地配置对数据和代码的访问。 某些 Azure Databricks 功能必须由工作区管理员启用,用户才能使用它们。 若要了解常见任务,请参阅 Azure Databricks 管理入门。
如果你位于启用了 Unity Catalog 的工作区中,则可以利用许多附加功能来实现安全性和治理。 请参阅教程:Databricks SQL 的 Unity Catalog 元存储管理员任务。
管理员需要先配置 Databricks SQL,然后才能完成大多数常见任务。 请参阅 Databricks SQL 的管理员载入和设置用户以查询表。
注意
创建 Azure Databricks 工作区时,将被授予管理员权限。