砖SDK为PythongydF4y2Ba

在本文中,您将了解如何在砖自动化业务账户、工作区和相关资源gydF4y2Ba砖SDK为PythongydF4y2Ba。这篇文章的补充gydF4y2Ba砖SDK的Python文档gydF4y2Ba。gydF4y2Ba

请注意gydF4y2Ba

这个特性是在gydF4y2BaβgydF4y2Ba在生产中,是可以使用。gydF4y2Ba

在你开始之前gydF4y2Ba

您可以使用Python在砖的砖SDK的笔记本或从您的本地开发的机器。gydF4y2Ba

在你开始使用Python的砖SDK,您的开发机必须有:gydF4y2Ba

  • 砖gydF4y2Ba身份验证gydF4y2Ba配置。gydF4y2Ba

  • PythongydF4y2Ba安装3.8或更高版本。(Python 3.7还支持,但只有通过2023年6月)。自动化数据砖计算资源,建议你安装了Python的主要和次要版本相匹配的安装在你的目标数据砖计算资源。本文的例子依赖自动化集群砖13.0运行时,Python 3.10安装。正确的版本,请参阅gydF4y2Ba砖的运行时版本gydF4y2Ba集群的砖运行时版本。gydF4y2Ba

  • 砖建议你创建和激活一个PythongydF4y2Ba虚拟环境gydF4y2Ba为每个Python代码项目,您使用Python的砖SDK。Python虚拟环境有助于确保你的代码项目使用兼容版本的Python和Python包(在这种情况下,砖SDK的Python包)。本文使用gydF4y2BavenvgydF4y2BaPython虚拟环境。创建一个Python虚拟环境gydF4y2BavenvgydF4y2Ba:gydF4y2Ba

    1. 从你的终端设置为您的Python代码项目的根目录,指导gydF4y2BavenvgydF4y2Ba使用Python 3.10的虚拟环境中,然后创建虚拟环境的支持一个隐藏目录中的文件命名gydF4y2Ba.venvgydF4y2Ba在您的Python代码项目的根目录,通过运行下面的命令:gydF4y2Ba

      # Linux和macOSgydF4y2Bapython3.10 - m venv。/ .venvgydF4y2Ba#窗口gydF4y2Bapython3.10 - m venv。gydF4y2Ba\。gydF4y2BavenvgydF4y2Ba
    2. 使用gydF4y2BavenvgydF4y2Ba激活虚拟环境。看到gydF4y2BavenvgydF4y2Ba文档使用正确的命令,根据你的操作系统和终端类型。例如,在macOS运行gydF4y2BazshgydF4y2Ba:gydF4y2Ba

      源gydF4y2Ba/ .venv / bin /激活gydF4y2Ba

      你会知道你的虚拟环境是激活虚拟环境的名称(例如,gydF4y2Ba.venvgydF4y2Ba)显示在括号之前终端提示符。gydF4y2Ba

      随时关闭虚拟环境,运行命令gydF4y2Ba禁用gydF4y2Ba。gydF4y2Ba

      你会知道你的虚拟环境时禁用虚拟环境的名字不再显示在括号之前您的终端提示符。gydF4y2Ba

开始使用Python的砖SDKgydF4y2Ba

本节描述如何开始使用Python的砖SDK的从你当地的开发机器上。使用Python在砖的砖SDK的笔记本,跳到gydF4y2Ba使用Python在砖的砖SDK的笔记本gydF4y2Ba。gydF4y2Ba

  1. 在您的开发机砖身份验证配置,Python已经安装,和您的Python虚拟环境已经激活,使用gydF4y2Ba皮普gydF4y2Ba安装gydF4y2Badatabricks-sdkgydF4y2Ba包从Python包指数(PyPI),如下:gydF4y2Ba

    pip3安装databricks-sdkgydF4y2Ba

    安装一个特定的版本的gydF4y2Badatabricks-sdkgydF4y2Ba包(特别是在Python的砖SDK是一个实验状态),看到包的gydF4y2Ba版本历史gydF4y2Ba。例如,安装版本gydF4y2Ba0.1.6gydF4y2Ba:gydF4y2Ba

    pip3安装databricks-sdk >gydF4y2Ba=gydF4y2Ba0gydF4y2Ba.1.6gydF4y2Ba

    提示gydF4y2Ba

    升级现有的砖SDK安装Python包到最新版本,运行gydF4y2Ba皮普gydF4y2Ba如下:gydF4y2Ba

    databricks-sdk pip3安装,升级gydF4y2Ba

    显示的砖SDK的Python包的电流gydF4y2Ba版本gydF4y2Ba和其他细节,运行gydF4y2Ba皮普gydF4y2Ba如下:gydF4y2Ba

    pip3显示databricks-sdkgydF4y2Ba
  2. 在您的Python虚拟环境,创建一个Python代码文件,进口砖SDK Python。下面的例子,在一个文件命名gydF4y2Bamain.pygydF4y2Ba用下面的内容,只需列出所有集群在砖工作区:gydF4y2Ba

    从gydF4y2Badatabricks.sdkgydF4y2Ba进口gydF4y2BaWorkspaceClientgydF4y2BawgydF4y2Ba=gydF4y2BaWorkspaceClientgydF4y2Ba()gydF4y2Ba为gydF4y2BacgydF4y2Ba在gydF4y2BawgydF4y2Ba。gydF4y2Ba集群gydF4y2Ba。gydF4y2Ba列表gydF4y2Ba():gydF4y2Ba打印gydF4y2Ba(gydF4y2BacgydF4y2Ba。gydF4y2Bacluster_namegydF4y2Ba)gydF4y2Ba
  3. 运行您的Python代码文件,假设一个文件命名gydF4y2Bamain.pygydF4y2Ba,通过运行gydF4y2BapythongydF4y2Ba命令:gydF4y2Ba

    python3.10 main.pygydF4y2Ba

    请注意gydF4y2Ba

    不设置任何参数前调用gydF4y2BawgydF4y2Ba=gydF4y2BaWorkspaceClient ()gydF4y2Ba的砖SDK的Python使用其默认程序试图执行砖身份验证。覆盖默认行为,看到下面的gydF4y2Ba身份验证gydF4y2Ba部分。gydF4y2Ba

验证Python与砖的砖SDK的帐户或工作区gydF4y2Ba

本节描述如何为Python验证砖SDK从你当地的开发机砖帐户或工作区。验证Python在砖的砖SDK的笔记本,跳到gydF4y2Ba使用Python在砖的砖SDK的笔记本gydF4y2Ba。gydF4y2Ba

砖SDK的Python实现gydF4y2Ba砖客户端统一身份验证gydF4y2Ba标准,统一和一致的体系结构和编程方法来验证。这种方法有助于使设置和自动化验证砖更集中的和可预测的。它允许您配置数据砖身份验证一次,然后使用该配置多个砖工具和sdk没有进一步验证配置更改。更多信息,包括更完整的代码示例在Python中,看到的gydF4y2Ba砖客户端统一身份验证gydF4y2Ba。gydF4y2Ba

一些可用的编码模式初始化数据砖与砖对Python SDK包括:身份验证gydF4y2Ba

  • 使用砖默认验证通过下列之一:gydF4y2Ba

    • 创建或识别一个定制的gydF4y2Ba砖配置概要文件gydF4y2Ba与目标必需的字段数据砖身份验证类型。然后设置gydF4y2BaDATABRICKS_CONFIG_PROFILEgydF4y2Ba环境变量定义配置概要文件的名称。gydF4y2Ba

    • 设置所需的环境变量为目标数据砖身份验证类型。gydF4y2Ba

    从gydF4y2Badatabricks.sdkgydF4y2Ba进口gydF4y2BaWorkspaceClientgydF4y2BawgydF4y2Ba=gydF4y2BaWorkspaceClientgydF4y2Ba()gydF4y2Ba#……gydF4y2Ba
  • 硬编码所需的字段支持但不推荐,因为它的风险暴露敏感信息在您的代码,如砖个人的访问令牌。下面的例子将砖砖令牌的身份验证:主机和访问令牌值gydF4y2Ba

    从gydF4y2Badatabricks.sdkgydF4y2Ba进口gydF4y2BaWorkspaceClientgydF4y2BawgydF4y2Ba=gydF4y2BaWorkspaceClientgydF4y2Ba(gydF4y2Ba主机gydF4y2Ba=gydF4y2Ba“https://..”。gydF4y2Ba,gydF4y2Ba令牌gydF4y2Ba=gydF4y2Ba“……”gydF4y2Ba)gydF4y2Ba#……gydF4y2Ba

使用Python在砖的砖SDK的笔记本gydF4y2Ba

步骤1:安装Python的砖SDKgydF4y2Ba

砖Python的笔记本电脑可以使用Python的砖SDK就像任何其他Python库。例如,让Python砖SDK提供给你的笔记本,你可以运行gydF4y2Ba%皮普gydF4y2Ba魔法从笔记本电池如下命令:gydF4y2Ba

%gydF4y2Ba皮普gydF4y2Ba安装gydF4y2Ba砖gydF4y2Ba- - - - - -gydF4y2BasdkgydF4y2Ba- - -gydF4y2Ba升级gydF4y2Ba

请注意gydF4y2Ba

如果出现一个错误消息,声称包不能被发现,删除gydF4y2Ba——升级gydF4y2Ba并再次运行单元。gydF4y2Ba

当您运行这个gydF4y2Ba%皮普gydF4y2Ba神奇的命令,启动Python。要做到这一点,运行以下命令从一个笔记本细胞后细胞gydF4y2Ba%皮普gydF4y2Ba神奇的命令:gydF4y2Ba

dbutilsgydF4y2Ba。gydF4y2Ba图书馆gydF4y2Ba。gydF4y2BarestartPythongydF4y2Ba()gydF4y2Ba

第二步:设置身份验证gydF4y2Ba

默认情况下,Python的砖SDK使用默认砖笔记本的身份验证。没有特殊要求或使用砖SDK的Python代码默认砖笔记本的身份验证。如果你想使用默认数据砖笔记本认证,跳到第3步。gydF4y2Ba

默认情况下,砖笔记本个人访问令牌验证依赖于砖,砖在后台生成代表你的笔记本运行时和删除当笔记本停止运行。这砖个人访问令牌与帐号砖用户帐户关联,这意味着砖SDK为Python只有任何访问权限,登录的用户帐户。gydF4y2Ba

您可以使用砖砖个人以外的身份验证类型的访问令牌认证如果需要,尽管这需要特殊设置和编码。更多信息,包括更完整的代码示例在Python中,看到的gydF4y2Ba砖客户端统一身份验证gydF4y2Ba。gydF4y2Ba

请注意gydF4y2Ba

如果你选择设置非默认砖笔记本的认证,你的笔记本将无法获得数据砖配置概要文件通过gydF4y2Ba.databrickscfggydF4y2Ba文件。相反,砖建议你使用一个或多个以下方法设置非默认砖从你的笔记本的身份验证:gydF4y2Ba

  • 在砖集群,设置你的目标所需要的环境变量的身份验证类型。对于特定环境变量的名字,看到你的目标验证类型的文档gydF4y2Ba砖客户端统一身份验证gydF4y2Ba。集群设置环境变量,明白了gydF4y2Ba环境变量gydF4y2Ba。gydF4y2Ba

  • 使用直接配置检索所需的身份验证设置你的验证类型从砖小部件在你的笔记本上。您必须手动输入所需的身份验证设置到这些小部件在你运行你的笔记本。对于特定设置的名字,看到你的目标的Python代码示例验证类型gydF4y2Ba砖客户端统一身份验证gydF4y2Ba,确定使用gydF4y2Badbutils.widgets.get (…)gydF4y2Ba调用而不是这些例子的gydF4y2Ba检索…()gydF4y2Ba调用。学习如何使用小部件以编程方式,明白了gydF4y2Ba砖小部件gydF4y2Ba。gydF4y2Ba

  • 使用直接配置检索所需的身份验证设置配置存储,如您的身份验证类型gydF4y2BaAWS系统存储管理器参数gydF4y2Ba。对于特定设置的名字,看到你的目标的Python代码示例验证类型gydF4y2Ba砖客户端统一身份验证gydF4y2Ba。gydF4y2Ba

第三步:运行您的代码gydF4y2Ba

在你的笔记本电池,创建Python代码进口,然后调用Python的砖SDK。下面的例子简单地列出所有集群在砖工作区:gydF4y2Ba

从gydF4y2Badatabricks.sdkgydF4y2Ba进口gydF4y2BaWorkspaceClientgydF4y2BawgydF4y2Ba=gydF4y2BaWorkspaceClientgydF4y2Ba()gydF4y2Ba为gydF4y2BacgydF4y2Ba在gydF4y2BawgydF4y2Ba。gydF4y2Ba集群gydF4y2Ba。gydF4y2Ba列表gydF4y2Ba():gydF4y2Ba打印gydF4y2Ba(gydF4y2BacgydF4y2Ba。gydF4y2Bacluster_namegydF4y2Ba)gydF4y2Ba

当您运行这个细胞时,列表的名称你的砖的工作区中所有可用的集群出现。gydF4y2Ba

使用砖实用程序gydF4y2Ba

你可以叫gydF4y2Ba砖公用事业gydF4y2Ba从砖SDK的Python代码运行在本地开发机器内或从砖笔记本。gydF4y2Ba

  • 从你当地的开发机、砖实用程序可以访问的gydF4y2Badbutils.fsgydF4y2Ba,gydF4y2Badbutils.secretsgydF4y2Ba,gydF4y2Badbutils.widgetsgydF4y2Ba命令组。gydF4y2Ba

  • 从一个附加到数据砖的砖笔记本的集群,砖实用程序可以访问所有可用的数据砖工具命令组,不仅gydF4y2Badbutils.fsgydF4y2Ba,gydF4y2Badbutils.secretsgydF4y2Ba,gydF4y2Badbutils.widgetsgydF4y2Ba。此外,gydF4y2Badbutils.notebookgydF4y2Ba命令组仅局限于两个级别的命令,例如gydF4y2Badbutils.notebook.rungydF4y2Ba或gydF4y2Badbutils.notebook.exitgydF4y2Ba。gydF4y2Ba

把砖公用事业从你当地的开发机器或砖笔记本,使用gydF4y2BadbutilsgydF4y2Ba在gydF4y2BaWorkspaceClientgydF4y2Ba。这个代码示例调用gydF4y2BadbutilsgydF4y2Ba在gydF4y2BaWorkspaceClientgydF4y2Ba列出的所有对象的路径的DBFS根工作区。gydF4y2Ba

从gydF4y2Badatabricks.sdkgydF4y2Ba进口gydF4y2BaWorkspaceClientgydF4y2BawgydF4y2Ba=gydF4y2BaWorkspaceClientgydF4y2Ba()gydF4y2BadgydF4y2Ba=gydF4y2BawgydF4y2Ba。gydF4y2BadbutilsgydF4y2Ba。gydF4y2BafsgydF4y2Ba。gydF4y2BalsgydF4y2Ba(gydF4y2Ba' / 'gydF4y2Ba)gydF4y2Ba为gydF4y2BafgydF4y2Ba在gydF4y2BadgydF4y2Ba:gydF4y2Ba打印gydF4y2Ba(gydF4y2BafgydF4y2Ba。gydF4y2Ba路径gydF4y2Ba)gydF4y2Ba

或者,您可以调用gydF4y2BadbutilsgydF4y2Ba直接。然而,你是局限于只使用默认数据砖身份验证。这个代码示例调用gydF4y2BadbutilsgydF4y2Ba直接对列表中的所有对象的DBFS根工作区。gydF4y2Ba

从gydF4y2Badatabricks.sdk.runtimegydF4y2Ba进口gydF4y2Ba*gydF4y2BadgydF4y2Ba=gydF4y2BadbutilsgydF4y2Ba。gydF4y2BafsgydF4y2Ba。gydF4y2BalsgydF4y2Ba(gydF4y2Ba' / 'gydF4y2Ba)gydF4y2Ba为gydF4y2BafgydF4y2Ba在gydF4y2BadgydF4y2Ba:gydF4y2Ba打印gydF4y2Ba(gydF4y2BafgydF4y2Ba。gydF4y2Ba路径gydF4y2Ba)gydF4y2Ba

另请参阅gydF4y2Ba与dbutils互动gydF4y2Ba。gydF4y2Ba

代码示例gydF4y2Ba

下面的代码示例演示如何使用Python的砖SDK创建和删除集群,运行工作,和帐户级别组列表。这些代码示例使用Python的默认数据砖的砖SDK的身份验证过程。默认笔记本身份验证的详细信息,请参阅gydF4y2Ba使用Python在砖的砖SDK的笔记本gydF4y2Ba。笔记本电脑以外的违约认证的详细信息,请参见gydF4y2Ba验证Python与砖的砖SDK的帐户或工作区gydF4y2Ba。gydF4y2Ba

额外的代码示例,请参阅gydF4y2Ba例子gydF4y2Ba文件夹在GitHub砖SDK为Python库。看到也gydF4y2Ba砖工作区api参考gydF4y2Ba和gydF4y2Ba砖帐户的api参考gydF4y2Ba。gydF4y2Ba

创建一个集群gydF4y2Ba

这段代码示例创建一个集群与指定的砖和集群节点类型运行时版本。这个集群有一个工人,集群将自动终止后15分钟的空闲时间。gydF4y2Ba

从gydF4y2Badatabricks.sdkgydF4y2Ba进口gydF4y2BaWorkspaceClientgydF4y2BawgydF4y2Ba=gydF4y2BaWorkspaceClientgydF4y2Ba()gydF4y2Ba打印gydF4y2Ba(gydF4y2Ba“试图创建集群。请稍等……”gydF4y2Ba)gydF4y2BacgydF4y2Ba=gydF4y2BawgydF4y2Ba。gydF4y2Ba集群gydF4y2Ba。gydF4y2Bacreate_and_waitgydF4y2Ba(gydF4y2Bacluster_namegydF4y2Ba=gydF4y2Ba“my-cluster”gydF4y2Ba,gydF4y2Baspark_versiongydF4y2Ba=gydF4y2Ba“12.2.x-scala2.12”gydF4y2Ba,gydF4y2Banode_type_idgydF4y2Ba=gydF4y2Ba“i3.xlarge”gydF4y2Ba,gydF4y2Baautotermination_minutesgydF4y2Ba=gydF4y2Ba15gydF4y2Ba,gydF4y2Banum_workersgydF4y2Ba=gydF4y2Ba1gydF4y2Ba)gydF4y2Ba打印gydF4y2Ba(gydF4y2BafgydF4y2Ba“集群是现在准备好了”gydF4y2Ba\gydF4y2BafgydF4y2Ba”gydF4y2Ba{gydF4y2BawgydF4y2Ba。gydF4y2Ba配置gydF4y2Ba。gydF4y2Ba主机gydF4y2Ba}gydF4y2Ba#设置/集群gydF4y2Ba{gydF4y2BacgydF4y2Ba。gydF4y2Bacluster_idgydF4y2Ba}gydF4y2Ba/配置gydF4y2Ba\ ngydF4y2Ba”gydF4y2Ba)gydF4y2Ba

永久删除一个集群gydF4y2Ba

这段代码示例永久删除集群与集群ID指定的工作区。gydF4y2Ba

从gydF4y2Badatabricks.sdkgydF4y2Ba进口gydF4y2BaWorkspaceClientgydF4y2BawgydF4y2Ba=gydF4y2BaWorkspaceClientgydF4y2Ba()gydF4y2Bac_idgydF4y2Ba=gydF4y2Ba输入gydF4y2Ba(gydF4y2Ba的集群删除ID(例如,1234 - 567890 ab123cd4):“gydF4y2Ba)gydF4y2BawgydF4y2Ba。gydF4y2Ba集群gydF4y2Ba。gydF4y2Bapermanent_deletegydF4y2Ba(gydF4y2Bacluster_idgydF4y2Ba=gydF4y2Bac_idgydF4y2Ba)gydF4y2Ba

创建一个工作gydF4y2Ba

这个代码示例创建了一个砖工作指定集群上运行指定的笔记本。在代码运行时,就现有的笔记本的路径,现有集群ID,和相关的工作设置从用户终端。gydF4y2Ba

从gydF4y2Badatabricks.sdkgydF4y2Ba进口gydF4y2BaWorkspaceClientgydF4y2Ba从gydF4y2Badatabricks.sdk.service.jobsgydF4y2Ba进口gydF4y2Ba任务gydF4y2Ba,gydF4y2BaNotebookTaskgydF4y2Ba,gydF4y2Ba源gydF4y2BawgydF4y2Ba=gydF4y2BaWorkspaceClientgydF4y2Ba()gydF4y2Bajob_namegydF4y2Ba=gydF4y2Ba输入gydF4y2Ba(gydF4y2Ba“一些短名称的工作(例如,我的工作):“gydF4y2Ba)gydF4y2Ba描述gydF4y2Ba=gydF4y2Ba输入gydF4y2Ba(gydF4y2Ba“一些简短描述的工作(例如,我的工作):“gydF4y2Ba)gydF4y2Baexisting_cluster_idgydF4y2Ba=gydF4y2Ba输入gydF4y2Ba(gydF4y2Ba“ID在工作区中现有的集群上运行的工作(例如,1234 - 567890 ab123cd4):“gydF4y2Ba)gydF4y2Banotebook_pathgydF4y2Ba=gydF4y2Ba输入gydF4y2Ba(gydF4y2Ba“工作区路径的笔记本运行(例如,/用户/ someone@example.com/my-notebook):“gydF4y2Ba)gydF4y2Batask_keygydF4y2Ba=gydF4y2Ba输入gydF4y2Ba(gydF4y2Ba“一些关键的申请工作的任务(例如,我的钥匙):“gydF4y2Ba)gydF4y2Ba打印gydF4y2Ba(gydF4y2Ba“试图创建工作。请稍等…gydF4y2Ba\ ngydF4y2Ba”gydF4y2Ba)gydF4y2BajgydF4y2Ba=gydF4y2BawgydF4y2Ba。gydF4y2Ba工作gydF4y2Ba。gydF4y2Ba创建gydF4y2Ba(gydF4y2Bajob_namegydF4y2Ba=gydF4y2Bajob_namegydF4y2Ba,gydF4y2Ba任务gydF4y2Ba=gydF4y2Ba(gydF4y2Ba任务gydF4y2Ba(gydF4y2Ba描述gydF4y2Ba=gydF4y2Ba描述gydF4y2Ba,gydF4y2Baexisting_cluster_idgydF4y2Ba=gydF4y2Baexisting_cluster_idgydF4y2Ba,gydF4y2Banotebook_taskgydF4y2Ba=gydF4y2BaNotebookTaskgydF4y2Ba(gydF4y2Babase_parametersgydF4y2Ba=gydF4y2BadictgydF4y2Ba(gydF4y2Ba”“gydF4y2Ba),gydF4y2Banotebook_pathgydF4y2Ba=gydF4y2Banotebook_pathgydF4y2Ba,gydF4y2Ba源gydF4y2Ba=gydF4y2Ba源gydF4y2Ba(gydF4y2Ba“工作区”gydF4y2Ba)gydF4y2Ba),gydF4y2Batask_keygydF4y2Ba=gydF4y2Batask_keygydF4y2Ba)gydF4y2Ba]gydF4y2Ba)gydF4y2Ba打印gydF4y2Ba(gydF4y2BafgydF4y2Ba”视图的工作gydF4y2Ba{gydF4y2BawgydF4y2Ba。gydF4y2Ba配置gydF4y2Ba。gydF4y2Ba主机gydF4y2Ba}gydF4y2Ba/ #工作/gydF4y2Ba{gydF4y2BajgydF4y2Ba。gydF4y2Bajob_idgydF4y2Ba}gydF4y2Ba\ ngydF4y2Ba”gydF4y2Ba)gydF4y2Ba

帐户级别组列表gydF4y2Ba

这段代码示例列表显示名称砖内所有可用的组帐户。gydF4y2Ba

从gydF4y2Badatabricks.sdkgydF4y2Ba进口gydF4y2BaAccountClientgydF4y2Ba一个gydF4y2Ba=gydF4y2BaAccountClientgydF4y2Ba()gydF4y2Ba为gydF4y2BaggydF4y2Ba在gydF4y2Ba一个gydF4y2Ba。gydF4y2Ba组gydF4y2Ba。gydF4y2Ba列表gydF4y2Ba():gydF4y2Ba打印gydF4y2Ba(gydF4y2BaggydF4y2Ba。gydF4y2Badisplay_namegydF4y2Ba)gydF4y2Ba