Python开发人员的数据库

本节提供使用Python语言在Databricks中开发笔记本和作业的指南。第一小节提供了常见工作流和任务的教程链接。第二小节提供了到api、库和关键工具的链接。

入门的基本工作流程是:

教程

下面的教程提供了示例代码和笔记本,以了解常见的工作流程。看到导入笔记本电脑有关如何将笔记本示例导入工作空间的说明。

交互式数据科学和机器学习

工程数据

Python笔记中的调试

示例笔记本演示了如何在Databricks笔记本中使用Python调试器(pdb)。要使用Python调试器,必须运行Databricks Runtime 11.2或更高版本。

Python调试器示例笔记本

在新标签页打开笔记本

请注意

断点()在IPython中不支持因此不能在Databricks笔记本中使用。你可以使用进口pdb;pdb.set_trace ()而不是断点()

参考

下面的小节列出了帮助您开始使用Python在Databricks中开发的关键特性和技巧。

Python api

在Databricks外部运行的Python代码通常可以在Databricks内部运行,反之亦然。如果您有现有的代码,只需将其导入Databricks即可开始。看到使用笔记本和Databricks Repos管理代码详情如下。

数据库既可以运行单机,也可以运行分布式Python工作负载。对于单机计算,你可以像往常一样使用Python api和库;例如,熊猫和scikit-learn将“只是工作”。对于分布式Python工作负载,Databricks提供了两个开箱即用的流行API: Spark上的Pandas API和PySpark上的Pandas API。

Spark上的Pandas API

请注意

考拉开源项目现在建议切换到Spark上的Pandas API。Spark上的Pandas API在正在运行的集群上可用Databricks Runtime 10.0(不支持)及以上。对于运行的集群Databricks Runtime 9.1 LTS下面,使用考拉代替。

熊猫是数据科学家通常用于数据分析和操作的Python包。然而,熊猫并不能扩展到大数据。Spark上的Pandas API通过提供在Apache Spark上工作的熊猫等效api来填补这一空白。这开源API是熟悉pandas但不熟悉Apache Spark的数据科学家的理想选择。

PySpark API

PySpark是Apache Spark的官方Python API。这个API比Spark上的Pandas API提供了更多的灵活性。这些链接提供了PySpark的介绍和参考。

使用笔记本和Databricks Repos管理代码

砖的笔记本支持Python。这些笔记本提供了类似于Jupyter的功能,但增加了一些功能,比如使用大数据的内置可视化,用于调试和性能监控的Apache Spark集成,以及用于跟踪机器学习实验的MLflow集成。从以下开始导入笔记本电脑.一旦您可以访问集群,您就可以附上笔记本到集群和运行笔记本

提示

要完全重置笔记本的状态,可以重新启动iPython内核。对于Jupyter用户,Jupyter中的“重启内核”选项对应于在Databricks中卸载和重新加载笔记本。要重新启动Python笔记本中的内核,请单击左上方的集群下拉菜单,然后单击分离和重新连接.这将从集群中分离笔记本并重新连接它,这会重新启动Python进程。

砖回购允许用户将笔记本和其他文件与Git存储库同步。Databricks Repos有助于代码版本控制和协作,它可以简化将完整的代码存储库导入Databricks,查看过去的笔记本版本,并与IDE开发集成。从以下开始克隆远程Git存储库.然后,您可以使用存储库克隆打开或创建笔记本,附上笔记本到集群,和运行笔记本

集群和库

集群为任何规模的集群提供计算管理:从单节点集群到大型集群。您可以根据需要定制集群硬件和库。数据科学家通常会从创建集群或者使用现有的共享的集群.一旦您可以访问集群,您就可以附上笔记本到集群或运行作业集群上。

Databricks集群使用Databricks运行时,该运行时提供了许多开箱即用的流行库,包括Apache Spark、Delta Lake、pandas等等。您还可以安装额外的第三方或自定义Python库,用于笔记本电脑和作业。

  • 中的默认库开始砖运行时.使用Databricks运行时机器学习用于机器学习工作负载。有关预安装库的完整列表,请参见Databricks运行时发布

  • 使用以下命令定制环境笔记本范围的Python库,它允许您使用来自PyPI或其他存储库的库修改您的笔记本或工作环境。的%皮普安装my_library魔术命令安装my_library到当前连接的集群中的所有节点,但不会影响共享集群上的其他工作负载。

  • 安装非python库,如集群库根据需要。

  • 详情请参见

可视化

Databricks Python笔记本内置了许多类型的支持可视化.你也可以使用传统的可视化

您还可以使用第三方库可视化数据;有些是预安装在Databricks运行时,但您也可以安装自定义库。常见的选项包括:

工作

您可以按照计划或触发自动执行Python工作负载创建、运行和管理Databricks作业在砖。作业可以运行笔记本电脑、Python脚本和Python轮子。

提示

要调度Python脚本而不是笔记本,请使用spark_python_task磁场下任务在create job request的正文中。

机器学习

Databricks支持各种各样的机器学习(ML)工作负载,包括基于表格数据的传统机器学习、用于计算机视觉和自然语言处理的深度学习、推荐系统、图形分析等。有关Databricks上机器学习的一般信息,请参阅Databricks机器学习指南

对于ML算法,可以使用中预安装的库Databricks运行时机器学习,其中包括流行的Python工具,如scikit-learn, TensorFlow, Keras, PyTorch, Apache Spark MLlib和XGBoost。你也可以安装自定义库

对于机器学习操作(MLOps), Databricks为开源库MLflow提供了托管服务。bob下载地址MLflow跟踪允许您记录模型开发并以可重用的格式保存模型;的MLflow模型注册表让您管理和自动化模型的生产推广;而且工作和模型服务,与无服务器实时推理经典MLflow模型服务,允许托管模型作为批处理和流作业以及REST端点。有关更多信息和示例,请参见MLflow指南或者是MLflow Python API文档

要开始使用常见的机器学习工作负载,请参阅以下页面:

ide、开发工具和api

除了在Databricks笔记本中开发Python代码外,您还可以使用集成开发环境(ide)进行外部开发,如PyCharm、Jupyter和Visual Studio code。要在外部开发环境和Databricks之间同步工作,有以下几个选项:

  • 代码:可以使用Git同步代码。看到Git与Databricks Repos的集成

  • 图书馆和工作:您可以在外部创建库(如轮子),并将它们上传到Databricks。这些库可以导入到Databricks笔记本中,也可以用于创建作业。看到而且创建、运行和管理Databricks作业

  • 远程机器执行:您可以从本地IDE运行代码进行交互开发和测试。IDE可以与Databricks通信,在Databricks集群上执行大型计算。要学会使用砖连接要创建此连接,请参见使用ide和Databricks

Databricks提供了一整套支持自动化和与外部工具集成的REST api。您可以使用api来管理集群和库、代码和其他工作空间对象、工作负载和作业等资源。看到REST API(最新)

有关ide、开发人员工具和api的更多信息,请参见开发人员工具和指导

额外的资源