云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

香港带宽_云主机比较_超低折扣

小七 141 0

使用%pip和%conda简化用于机器学习的Databricks运行时的Python环境管理

今天我们宣布发布%pip和%conda notebook magic命令,以显著简化机器学习Databricks运行时的python环境管理。使用新的magic命令,您可以使用熟悉的pip和conda语法在笔记本范围内管理Python包依赖关系。例如,您可以在Python笔记本中运行%pip install-U考拉来安装最新版本的考拉。更改仅影响当前笔记本会话和相关的Spark作业。通过简化的环境管理,您可以节省测试不同库和版本的时间,并将更多时间用于解决业务问题并使您的组织取得成功。为什么要引入此功能启用%pip和%conda magic命令将Python包添加到笔记本会话管理笔记本范围的环境跨笔记本电脑复制环境最佳实践和限制未来计划开始使用%pip和%conda为什么要引入此功能管理Python库依赖关系是数据科学家最令人沮丧的任务之一。库冲突极大地阻碍了数据科学家的工作效率,因为它阻碍了他们快速开始工作。通常,负责提供环境的人不是最终将使用该环境执行开发任务的人。在某些组织中,数据科学家需要向另一个部门(即IT、数据工程),进一步推迟了解决时间。Databricks Runtime for Machine Learning(aka Databricks Runtime ML)预安装最流行的ML库,并解决与预打包这些依赖项相关的任何冲突。在Databricks客户的迅速采用中,反馈是非常积极的。然而,ML是一个快速发展的领域,新的软件包也在频繁地被引入和更新。Databricks用户通常希望通过在预先配置的包上安装额外的包或升级/降级预配置的包来进一步定制他们的环境。需要注意的是,在用户可以利用环境更改之前,需要将环境更改传播到集群中的所有节点。改进Databricks Runtime ML中的依赖关系管理有三个主要用例:使用熟悉的pip和conda命令定制Python环境并处理依赖关系管理。对笔记本会话进行环境更改,并在群集节点之间传播会话相关性更改。提高笔记本电脑的可移植性。启用%pip和%conda magic命令从Databricks Runtime ML 6.4版开始,可以在创建群集时启用此功能spark.databricks.conda.启用condaMagic在"Spark Config"(编辑>高级选项>Spark)下为true。见图1。图1。在创建群集时启用该功能集群启动后,您可以简单地附加一个Python笔记本,并开始在Databricks中使用%pip和%conda magic命令!注意:这个特性在PVC部署和Databricks社区版中还不可用。将Python包添加到笔记本会话如果要添加其他库或更改预安装库的版本,可以使用%pip install。例如,以下命令行将koalas 0.32.0添加到笔记本会话范围内的Python环境中:%pip安装考拉==0.32.0为了重现性,强烈建议固定版本。此更改仅影响当前笔记本会话,即连接到同一群集的其他笔记本不会受到影响。安装的库将在驱动程序节点以及集群的所有工作节点上提供,这些数据包用于从笔记本启动的PySpark作业。Databricks建议使用%pip,如果它适用于您的包。如果要安装的包是通过conda分发的,则可以改用%conda。例如,以下命令将"英特尔MKL"升级到最新版本:%conda更新mkl笔记本会话在安装后重新启动,以确保可以成功加载新安装的库。为了便于携带笔记本电脑,Databricks建议将%pip和%conda命令放在笔记本的顶部。管理笔记本范围的环境在Databricks运行时ML中,笔记本范围的环境由conda管理。可以使用%conda list检查与笔记本相关联的Python环境。图2。使用%conda list检查与笔记本相关联的Python环境。Conda为在Databricks中管理Python依赖项和环境提供了几个优势:环境和依赖关系管理由同一工具无缝处理。Conda环境支持pip和Conda来安装软件包。Conda强大的导入/导出功能使其成为数据科学家理想的包管理器。通过conda,笔记本范围的环境对于笔记本会话来说是短暂的。因此,如果库安装停止或依赖关系变得混乱,您可以始终将环境重置为Databricks运行时ML提供的默认环境,然后通过分离和重新附加笔记本重新启动。对于高级conda用户,可以使用%conda config更改笔记本范围环境的配置,例如添加频道或配置代理服务器。跨笔记本电脑复制环境对于数据科学家团队来说,轻松的协作是采用基于云的解决方案的关键原因之一。%conda magic命令可以很容易地将Python依赖项从一个笔记本复制到另一个笔记本。您可以使用%conda env export-f/dbfs/path/to/环境yml将笔记本环境规范作为yaml文件导出到指定位置。图4使用本地文件接口将yaml文件保存到DBFS文件夹中:图4使用%conda env export将环境规范导出到指定的DBFS位置另一个用户可以使用%conda env update-f导入笔记本中的yaml文件。通过这样做,她将安装从yaml文件到当前笔记本会话的所有库和依赖项。见图5。图5。使用%conda env update从指定的DBFS位置导入环境规范Databricks建议使用相同的Databricks运行时版本来导出和导入环境文件,以获得更好的兼容性。最佳实践和限制Databricks不建议用户在Databricks Runtime ML中使用%sh pip/conda install。%sh命令可能不会更改笔记本范围内的环境,而且可能只更改驱动程序节点。从笔记本中与依赖项管理接口不是一种稳定的方式。如上所述,通过%conda命令安装的库是"短暂的",笔记本在分离并重新附加到群集后将恢复到默认环境。如果您需要一些在集群上始终可用的库,可以在init脚本中或使用docker容器安装它们。通过Databricks Library UI/api安装的库(仅支持pip包)也可用于集群上安装库后连接的所有笔记本电脑。Conda包安装当前在库UI/API中不可用。当前不支持%conda activate和%conda env create。我们正在积极努力使这些功能可用。未来计划我们介绍了dbutils.库.*Databricks运行时中的API,用于安装作用域为笔记本的库,但在Databricks Runtime ML中不可用。相反,此新的%conda/%pip功能仅在Databricks运行时ML中可用,但在Databricks运行时中不可用。我们的长期目标是用最小的迁移路径将这两种体验统一起来。我们很快就会把%pip带到Databricks运行时。我们以前在Conda(Beta)中引入了Databricks运行时。这个运行时是实验性的。随着新的%pip和%conda功能现在可以在Databricks Runtime for ML中使用,我们建议在Databricks Runtime中使用conda(Beta)运行工作负载的用户迁移到Databricks Runtime for ML。我们不打算再发布dataricks Runtime With conda(Beta)。如上所述,我们正在积极努力使更多的Conda命令在ML运行时可用,尤其是%Conda activate和%Conda env create。有关可用或不可用Conda命令的完整列表,请参阅我们的文档。免费试用Databricks。今天就开始吧