砖扩展Visual Studio代码参考
请注意
学习如何快速开始使用砖扩展Visual Studio代码,看到砖扩展Visual Studio代码教程。
砖扩展Visual Studio代码允许您连接到远程数据砖的工作区Visual Studio代码集成开发环境(IDE)在当地的开发机器上运行。通过这些连接,您可以:
同步本地代码Visual Studio中开发的代码的代码在你的远程工作空间。
从Visual Studio代码运行本地Python代码文件在远程砖集群的工作区。
运行本地Python代码文件(
. py
)和Python, R, Scala, SQL笔记本(. py
,.ipynb
,。r
,. scala
,. sql
)从Visual Studio代码自动砖在远程工作的工作区。
请注意
的砖扩展Visual Studio代码支持运行R, Scala和SQL笔记本自动工作,但是不提供任何更深的Visual Studio代码中支持这些语言。
在你开始之前
之前,您可以使用Visual Studio的砖扩展代码,你的砖工作区和地方发展机器必须符合以下要求。
工作空间的需求
你必须至少有一个砖工作区,和工作区必须符合以下要求:
当地开发机需求
你必须有以下本地开发机器上:
Visual Studio代码1.69.1或更高版本。查看安装的版本,点击代码>关于Visual Studio代码在Linux或macOS和从主菜单中帮助>在Windows上。下载、安装和配置Visual Studio代码,看看设置Visual Studio代码。
Visual Studio代码必须配置为Python代码,包括Python解释器的可用性。有关详细信息,请参见开始使用Python在VS代码。
砖扩展Visual Studio代码。看到安装并打开扩展。
开始
之前,您可以使用Visual Studio的砖扩展代码必须下载、安装、开放、扩展和配置,如下所示。
安装并打开扩展
在Visual Studio代码,打开扩展视图(视图>扩展从主菜单中)。
在搜索扩展市场,输入砖。
单击砖条目。
请注意
有几个条目砖在他们的头衔。一定要点击一个只有砖在其标题和蓝砖旁边的复选标记图标。
点击安装。
重新启动Visual Studio代码。
打开扩展:在侧边栏,点击砖图标。
配置项目
扩展开,打开你的代码项目的文件夹在Visual Studio代码(文件>打开文件夹)。如果你没有一个代码项目然后使用PowerShell, Linux或macOS终端,或命令提示符窗口,创建一个文件夹,切换到新文件夹,然后打开Visual Studio代码从文件夹中。例如:
mkdir databricks-democddatabricks-demo代码。
医学博士databricks-democddatabricks-demo代码。
提示
如果你得到这个错误命令不发现:代码
,请参阅从命令行启动在Visual Studio代码文档。
配置扩展
使用扩展,你开始通过建立砖扩展和你的目标之间的身份验证数据砖的工作区。
身份验证配置
的砖扩展Visual Studio的代码实现部分砖客户端统一身份验证标准,统一和一致的体系结构和编程方法来验证。这种方法有助于使设置和自动化验证砖更集中的和可预测的。它允许您配置数据砖身份验证一次,然后使用该配置多个砖工具和sdk没有进一步验证配置更改。
之前,您可以使用Visual Studio的砖扩展代码,您必须设置身份验证数据砖之间的扩展Visual Studio代码和数据砖工作区。继续设置身份验证配置概要文件。
请注意
砖扩展Visual Studio代码的支持砖个人访问令牌认证只有。它不支持谷歌云凭证验证或谷歌云ID验证身份验证。
砖连接支持谷歌云凭据的身份验证和谷歌云ID认证。然而,您不能使用砖连接集成砖内扩展Visual Studio代码谷歌云身份验证凭据的身份验证或谷歌云ID。使用砖与Visual Studio代码本身独立于砖扩展Visual Studio代码,看看Visual Studio和Python代码。
设置身份验证配置概要文件
下面的说明假定您已经建立了一个砖与砖的必填字段配置概要文件的验证类型。看到砖配置概要文件和配置文件你的验证类型选项卡或部分身份验证数据砖自动化。
您的项目和扩展开,做到以下几点:
在配置窗格中,单击配置数据砖。
请注意
如果配置数据砖是不可见的,点击齿轮(配置工作空间旁边)图标配置代替。
在命令面板,因为砖的主机,输入您的工作区实例URL例如,
https://1234567890123456.7.gcp.www.neidfyre.com
。然后按输入。列表中选择你的目标数据砖配置概要文件的URL。
扩展项目中创建一个隐藏文件夹命名.databricks
如果它不存在。扩展还创建了一个文件在这个文件夹命名project.json
如果它不存在。这个文件包含您输入的URL,以及一些砖认证细节的砖扩展Visual Studio代码需要操作。
扩展还增加了一个隐藏的.gitignore
文件的项目如果文件不存在或现有的.gitignore
不能被发现在任何父文件夹。如果一个新的.gitignore
创建文件,扩展添加一个.databricks /
进入这个新的文件。如果发现现有的延伸.gitignore
文件,它添加了一个.databricks /
进入现有的文件。
继续设置集群。
设置集群
扩展和代码项目开了,一个砖配置概要文件已经设置,选择您想要使用现有的集群砖,或者创建一个新的集群砖并使用它。
使用现有的集群
如果你有一个你想使用现有集群砖,做以下之一:
在集群窗格,请执行以下操作:
请注意
的集群窗格中似乎只有
views.cluster
实验功能启用。看到设置。您想要使用的集群,旁边点击插头(附加集群)图标。
提示
如果集群中不可见集群窗格中,单击过滤器(过滤器集群)图标来见所有集群,集群由我创建,或运行集群。或者,单击箭头的圆圈(刷新)过滤器图标旁边的图标。
扩展将集群ID添加到您的项目的代码
.databricks / project.json
文件,例如“clusterId”:“1234 - 567890 abcd12e3”
。这个过程就完成了。继续设置工作区目录。
在配置窗格,请执行以下操作:
旁边集群,点击齿轮(集群配置)图标。
在命令面板,点击您想要使用的集群。
扩展将集群ID添加到您的项目的代码
.databricks / project.json
文件,例如“clusterId”:“1234 - 567890 abcd12e3”
。这个过程就完成了。继续设置工作区目录。
创建一个新的集群
如果你没有现有的集群砖,或者你想要创建一个新的和使用它,做到以下几点:
在配置旁边的窗格中,集群,点击齿轮(集群配置)图标。
在命令面板,点击创建新集群。
当提示打开外部网站(砖工作区),点击开放。
如果提示,登录到你的砖工作区。
按照指示创建一个集群。
集群的创建和运行后,回到Visual Studio代码。
做下列之一:
在集群窗格中,您希望使用的集群,旁边点击插头(附加集群)图标。
请注意
的集群窗格中似乎只有
views.cluster
实验功能启用。看到设置。提示
如果集群不可见,请单击过滤器(过滤器集群)图标来见所有集群,集群由我创建,或运行集群。或者,单击箭头的圆圈(刷新)图标。
扩展将集群ID添加到项目的代码
.databricks / project.json
文件,例如“clusterId”:“1234 - 567890 abcd12e3”
。这个过程就完成了。继续设置工作区目录。
在配置旁边的窗格中,集群,点击齿轮(集群配置)图标。
在命令面板,点击您想要使用的集群。
扩展将集群ID添加到项目的代码
.databricks / project.json
文件,例如“clusterId”:“1234 - 567890 abcd12e3”
。继续设置工作区目录。
设置工作区目录
扩展和代码项目开了,一个砖配置概要文件已经设置,使用砖扩展Visual Studio代码来创建一个新的工作区目录和使用它,或选择现有的工作区目录。
请注意
砖扩展Visual Studio代码只能用它创建工作区目录。你不能使用现有的工作空间目录在您的工作空间中,除非它是由扩展。
使用工作区目录的砖扩展Visual Studio代码,您必须使用0.3.5或更高版本的扩展,和你的砖集群必须安装砖运行时的11.2或更高。
工作区目录是默认设置,开始0.3.15版本的扩展。然而,如果你设置扩展使用砖回购而不是工作区目录,您可以设置扩展回到使用工作区目录如下:
扩展和代码项目开了,一个砖配置概要文件已经设置,在命令面板(视图>命令面板),类型
偏好:开放用户设置
,然后单击偏好:开放的用户设置。在用户选项卡,扩大扩展,然后单击砖。
为同步:目的地类型中,选择工作空间。
退出并重新启动Visual Studio代码。
注意,改变了设置之后使用砖回购使用工作区目录,您可能需要手动同步代码到您的工作空间中。要做到这一点,您创建一个新的工作区目录后在接下来的过程中,单击箭头的圆圈(开始同步旁边)图标同步的目的地。
创建一个新的工作区目录
创建一个新的工作区目录,请执行以下操作:
在配置旁边的窗格中,同步的目的地,点击齿轮(配置同步目的地)图标。
在命令面板,点击创建新的同步目的地。
为新工作区目录,输入一个名字,然后按输入。
扩展创建一个目录中指定的目录名称
/用户/ <用户名> / .ide
在工作区中,然后添加代码项目的工作区目录的路径.databricks / project.json
文件,例如“workspacePath”:“/用户/ <用户名> / .ide / < your-directory-name >”
。请注意
如果远程工作区目录的名字不匹配你的本地代码项目的名称、图标出现这个警告信息:远程同步目的地名称不匹配当前Visual Studio代码工作区名称。你可以忽略这个警告,如果你不需要名字匹配。
设置工作区目录后,开始与工作区目录同步通过点击箭头的圆圈(开始同步旁边)图标同步的目的地。
重要的
砖扩展Visual Studio代码只执行单向、自动同步文件变更从你当地的Visual Studio代码项目相关的工作区目录在你的远程数据砖工作区。这个偏远的工作区目录中的文件的目的是瞬态。不发起更改这些文件从远程工作空间内,随着这些变化不会被同步回本地项目。
继续开发任务。
重用现有的工作区目录
如果你有一个现有的工作区目录,您在前面创建的砖扩展Visual Studio代码和想要重用在当前Visual Studio项目代码,然后执行以下操作:
在配置旁边的窗格中,同步的目的地,点击齿轮(配置同步目的地)图标。
在命令面板从列表中,选择工作区目录的名字。
扩展添加代码项目的工作区目录的路径.databricks / project.json
文件,例如“workspacePath”:“/用户/ <用户名> / .ide / < your-directory-name >”
。
请注意
如果远程工作区目录的名字不匹配你的本地代码项目的名称、图标出现这个警告信息:远程同步目的地名称不匹配当前Visual Studio代码工作区名称。你可以忽略这个警告,如果你不需要名字匹配。
设置工作区目录后,开始与工作区目录同步通过点击箭头的圆圈(开始同步旁边)图标同步的目的地。
重要的
砖扩展Visual Studio代码只执行单向、自动同步文件变更从你当地的Visual Studio代码项目相关的工作区目录在你的远程数据砖工作区。这个偏远的工作区目录中的文件的目的是瞬态。不发起更改这些文件从远程工作空间内,随着这些变化不会被同步回本地项目。
继续开发任务。
设置存储库
请注意
砖不建议您使用砖与砖回购的扩展Visual Studio代码,除非工作区目录不可用。看到设置工作区目录。
如果您选择使用砖回购而不是工作区目录在你的砖工作区,然后扩展代码项目打开时,和一个砖配置概要文件已经设置,使用砖扩展Visual Studio代码来创建一个新的存储库在砖回购协议和使用它,或选择现有的存储库与砖砖回购,您在前面创建的扩展Visual Studio代码和想要重用。
请注意
的砖扩展Visual Studio代码只能创建存储库。你不能使用现有的存储库工作区中。
使砖扩展Visual Studio代码在砖砖内回购的使用存储库工作区,您必须首先设置扩展的同步:目的地类型设置为回购如下:
扩展和代码项目开了,一个砖配置概要文件已经设置,在命令面板(视图>命令面板),类型
偏好:开放用户设置
,然后单击偏好:开放的用户设置。在用户选项卡,扩大扩展,然后单击砖。
为同步:目的地类型中,选择回购。
退出并重新启动Visual Studio代码。
创建一个新的回购
请注意
砖不建议您使用砖与砖回购的扩展Visual Studio代码,除非工作区目录不可用。看到设置工作区目录。
创建一个新的存储库,执行以下操作:
在配置旁边的窗格中,同步的目的地,点击齿轮(配置同步目的地)图标。
在命令面板,点击创建新的同步目的地。
类型在砖回购的新的存储库的名称,然后按输入。
扩展附加字符
.ide
结束的回购的名字,然后将回购的工作区路径添加到项目的代码.databricks / project.json
文件,例如“workspacePath”:“/工作区/回购/ someone@example.com/my-repo.ide”
。请注意
如果远程回购的名字不匹配您的本地代码项目的名称、图标出现这个警告信息:远程同步目的地名称不匹配当前Visual Studio代码工作区名称。你可以忽略这个警告,如果你不需要名字匹配。
设置存储库之后,开始与存储库同步通过点击箭头的圆圈(开始同步旁边)图标同步的目的地。
重要的
砖扩展Visual Studio代码只执行单向、自动同步文件从你当地的Visual Studio代码更改项目相关库的远程数据砖工作区。这些远程存储库文件的目的是瞬态。不发起更改这些文件从远程存储库中,随着这些变化不会被同步回本地项目。
继续开发任务。
重用现有的回购
请注意
砖不建议您使用砖与砖回购的扩展Visual Studio代码,除非工作区目录不可用。看到设置工作区目录。
如果你有一个现有的库与砖砖回购,您在前面创建的扩展Visual Studio代码和想要重用在当前Visual Studio项目代码,然后执行以下操作:
在配置旁边的窗格中,同步的目的地,点击齿轮(配置同步目的地)图标。
在命令面板从列表中,选择存储库的名字。
这个扩展将回购的工作区路径添加到项目的代码
.databricks / project.json
文件,例如“workspacePath”:“/工作区/回购/ someone@example.com/my-repo.ide”
。请注意
如果远程回购的名字不匹配您的本地代码项目的名称、图标出现这个警告信息:远程同步目的地名称不匹配当前Visual Studio代码工作区名称。你可以忽略这个警告,如果你不需要名字匹配。
设置存储库之后,开始与存储库同步通过点击箭头的圆圈(开始同步旁边)图标同步的目的地。
重要的
砖扩展Visual Studio代码只执行单向、自动同步文件从你当地的Visual Studio代码更改项目相关库的远程数据砖工作区。这些远程存储库文件的目的是瞬态。不发起更改这些文件从远程存储库中,随着这些变化不会被同步回本地项目。
继续开发任务。
开发任务
配置后的砖扩展Visual Studio代码,您可以使用扩展集群上运行本地Python文件在一个偏远的砖工作区,或运行本地Python文件或本地Python, R, Scala,或SQL笔记本作为一个工作在一个偏远的工作区,如下。
如果你没有一个本地文件或笔记本测试的砖扩展Visual Studio代码,这里有一些基本的代码,您可以添加到您的项目:
从pyspark.sql进口SparkSession从pyspark.sql.types进口*火花=SparkSession。构建器。getOrCreate()模式=StructType([StructField(“CustomerID”,IntegerType(),假),StructField(“FirstName”,StringType(),假),StructField(“姓”,StringType(),假)])数据=((1000年,“Mathijs”,“Oosterhout-Rijntjes”),(1001年,Joost的,“范Brunswijk”),(1002年,“斯坦”,“Bokenkamp”]]客户=火花。createDataFrame(数据,模式)客户。显示()#输出:## + - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - +# | CustomerID | FirstName LastName | |# + - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - +# | 1000 | Mathijs | Oosterhout-Rijntjes |# | 1001 | Joost van Brunswijk | |# | 1002 |斯坦| Bokenkamp |# + - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - +
#砖笔记本的来源从pyspark.sql.types进口*模式=StructType([StructField(“CustomerID”,IntegerType(),假),StructField(“FirstName”,StringType(),假),StructField(“姓”,StringType(),假)])数据=((1000年,“Mathijs”,“Oosterhout-Rijntjes”),(1001年,Joost的,“范Brunswijk”),(1002年,“斯坦”,“Bokenkamp”]]客户=火花。createDataFrame(数据,模式)客户。显示()#输出:## + - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - +# | CustomerID | FirstName LastName | |# + - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - +# | 1000 | Mathijs | Oosterhout-Rijntjes |# | 1001 | Joost van Brunswijk | |# | 1002 |斯坦| Bokenkamp |# + - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - +
#砖笔记本的来源图书馆(SparkR)sparkR.session()数据< -列表(列表(1000升,“Mathijs”,“Oosterhout-Rijntjes”),列表(1001升,“Joost”,“范Brunswijk”),列表(1002升,“斯坦”,“Bokenkamp”))模式< -structType(structField(“CustomerID”,“整数”),structField(“FirstName”,“字符串”),structField(“姓”,“字符串”))df< -createDataFrame(数据=数据,模式=模式)showDF(df)#输出:## + - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - +# | CustomerID | FirstName LastName | |# + - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - +# | 1000 | Mathijs | Oosterhout-Rijntjes |# | 1001 | Joost van Brunswijk | |# | 1002 |斯坦| Bokenkamp |# + - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - +
/ /砖笔记本的来源进口org。apache。火花。sql。类型。_进口org。apache。火花。sql。行瓦尔模式=StructType(数组(StructField(“CustomerID”,IntegerType,假),StructField(“FirstName”,StringType,假),StructField(“姓”,StringType,假)))瓦尔数据=列表(行(1000年,“Mathijs”,“Oosterhout-Rijntjes”),行(1001年,“Joost”,“范Brunswijk”),行(1002年,“斯坦”,“Bokenkamp”),)瓦尔抽样=火花。sparkContext。makeRDD(数据)瓦尔客户=火花。createDataFrame(抽样,模式)显示(客户)/ /输出:/ // / + - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +/ / | CustomerID | FirstName LastName | |/ / + - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +/ / | 1000 | Mathijs | Oosterhout-Rijntjes |/ / | 1001 | Joost van Brunswijk | |/ / | 1002 |斯坦| Bokenkamp |/ / + - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
——砖笔记本的来源创建表如果不存在zzz_customers(CustomerIDINT,FirstName字符串,姓字符串);- - - - - - - - - - - - - -命令插入成zzz_customers值(1000年,“Mathijs”,“Oosterhout-Rijntjes”),(1001年,“Joost”,“范Brunswijk”),(1002年,“斯坦”,“Bokenkamp”);- - - - - - - - - - - - - -命令选择*从zzz_customers;——输出:- - -- + - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - +——| CustomerID | FirstName LastName | |- + - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - +——| 1000 | Mathijs | Oosterhout-Rijntjes |——| 1001 | Joost | van Brunswijk |——| 1002 |斯坦| Bokenkamp |- + - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - +- - - - - - - - - - - - - -命令下降表zzz_customers;
启用PySpark和砖实用程序代码完成
要启用智能感知(也称为代码自动完成在Visual Studio代码代码编辑器PySpark,砖公用事业等,以及相关的全局变量火花
和dbutils
和你的代码,请执行以下操作项目打开:
在命令面板(视图>命令面板),类型
砖:配置自动完成为砖全局变量
并按输入。按照屏幕上的提示,让砖扩展Visual Studio代码安装PySpark为您的项目,并添加或修改
__builtins__.pyi
为您的项目文件,使砖实用工具。
您现在可以使用全局变量等火花
和dbutils
在您的代码中没有声明任何相关进口
事先声明。
运行或调试与砖连接的Python代码
Visual Studio代码包括砖扩展砖连接。您可以使用砖从砖扩展Visual Studio中连接个人Python代码运行,分步调试(. py
)文件和Python Jupyter笔记本(.ipynb
)。砖扩展Visual Studio代码包括砖的砖连接运行时13.0和更高版本。砖的早期版本中不支持连接。
砖连接要求
之前,您可以使用砖从内部连接的砖扩展Visual Studio代码,您必须首先满足砖连接要求。这些需求包括诸如工作区与统一目录启用,集群运行砖与集群运行时13.0或更高版本和单用户或共享访问模式,和一个本地版本的Python安装的主要和次要版本匹配的Python安装在集群。
步骤1:创建一个Python虚拟环境
创建并激活一个Python虚拟环境为您的Python代码项目。Python虚拟环境有助于确保你的代码项目使用兼容版本的Python和Python包(在这种情况下,数据砖连接包)。本文说明和示例使用venvPython虚拟环境。创建一个虚拟环境中使用Pythonvenv
:
从Visual Studio代码终端(视图>终端)设置为您的Python代码项目的根目录,指导
venv
使用Python的虚拟环境中,然后创建虚拟环境的支持一个隐藏目录中的文件命名.venv
在您的Python代码项目的根目录,通过运行下面的命令:# Linux和macOSpython3.10 - m venv。/ .venv#窗口python3.10 - m venv。\。venv
前面的命令使用Python 3.10,匹配的主要和次要的数据砖的Python版本13.0运行时使用。一定要使用Python的主要和次要版本匹配您的集群的Python安装的版本。
如果Visual Studio代码显示消息“我们发现创建了一个新的环境。你想选择的工作区文件夹,“点击是的。
使用
venv
激活虚拟环境。看到venv文档使用正确的命令,根据你的操作系统和终端类型。例如,在macOS运行zsh
:源/ .venv / bin /激活
你会知道你的虚拟环境是激活虚拟环境的名称(例如,
.venv
)显示在括号之前终端提示符。随时关闭虚拟环境,运行命令
禁用
。你会知道你的虚拟环境时禁用虚拟环境的名字不再显示在括号之前您的终端提示符。
步骤2:更新您的Python代码建立调试环境
建立一个上下文砖之间的连接和调试您的集群,您的Python代码必须初始化DatabricksSession
通过调用类DatabricksSession.builder.getOrCreate ()
。
请注意,您不需要指定设置如工作区的实例名,一个访问令牌,或者您的集群的ID和端口号当你初始化DatabricksSession
类。砖连接得到的这些信息从配置细节,你已经通过砖提供扩展Visual Studio代码本文前面。
额外的初始化信息DatabricksSession
类,看砖连接代码示例。
第三步:使砖连接
扩展开了,工作空间部分配置为您的代码项目,请执行以下操作:
在Visual Studio代码状态栏,点击红色砖连接禁用按钮。
如果集群部分不是已经配置的扩展,出现以下消息:“请附上一个集群使用砖连接。“点击附加集群并选择一个集群满足砖连接的要求。
如果集群部分配置但集群不是兼容砖连接,点击红色砖连接禁用按钮,点击附加集群,并选择一个兼容的集群。
如果砖连接的包没有安装,出现以下消息:“交互式调试和自动完成你需要的砖连接。你想安装的环境
< environment-name >
“点击。安装。在Visual Studio代码状态栏,蓝色砖连接启用按钮出现。
如果红色的砖连接禁用按钮仍然出现,点击它,完成蓝色屏幕上的指导砖连接启用按钮出现。
蓝后砖连接启用按钮出现了,您现在可以使用砖连接。
请注意
你不需要配置的扩展同步的目的地节为了代码项目使用砖连接。
步骤4:运行或调试您的Python代码
启用砖连接代码项目之后,运行或调试您的Python文件或笔记本如下。
运行或调试一个Python (. py
)文件:
Python代码中的项目,打开文件,您想运行或调试。
在Python文件设置任何调试断点。
文件编辑器的标题栏,单击下拉箭头旁边玩(运行或调试)图标。然后在下拉列表中,选择Python调试文件。这个选择支持分步调试断点,看表情,调用堆栈,和类似的功能。这个选择使用砖连接到运行在本地Python代码,在集群上运行PySpark代码在偏远的工作区,并将远程响应发送回本地调试Visual Studio代码。
请注意
其他的选择,它不支持调试,包括:
运行Python文件使用砖连接到运行的文件或笔记本,但是没有调试支持。这个选择将文件发送到远程工作空间,运行文件的Python和PySpark代码在远程集群在工作区中,并发送远程终端响应Visual Studio代码。
上传和砖上运行文件发送文件到远程工作空间,运行文件的Python和PySpark代码在远程集群在工作区中,并发送远程响应< vc >终端。这个选择不使用砖连接。
砖上运行文件作为工作流发送文件到远程工作空间,运行文件的Python和PySpark代码在集群上与自动数据砖相关联的工作,并将结果发送给一个编辑在Visual Studio代码。这个选择不使用砖连接。
的当前文件在交互式窗口运行选项,如果可行的话,尝试在本地运行的文件在一个特殊的Visual Studio代码交互编辑器。砖不建议此选项。
运行或调试一个Python Jupyter笔记本(.ipynb
):
在您的代码项目,打开Python Jupyter笔记本你想运行或调试。确保Jupyter笔记本的Python文件格式和扩展
.ipynb
。提示
您可以创建一个新的Python Jupyter笔记本通过运行>新建:Jupyter笔记本命令从内部命令面板。
点击运行所有细胞所有的细胞都没有调试运行,执行单元运行一个人相应的细胞没有调试,或由行运行单个细胞逐行调试、有限的变量值显示在Jupyter面板(视图> > Jupyter打开视图)。
单个细胞内进行全面调试,设置断点,然后单击调试细胞在菜单中细胞的旁边运行按钮。
点击这些选项之后,你可能会提示安装失踪Python Jupyter笔记本包的依赖关系。单击安装。
有关更多信息,请参见Jupyter笔记本在VS代码。
请注意
砖扩展Visual Studio代码支持额外的实验为砖笔记本功能连接。看到额外的笔记本与砖连接的特性。
一个集群上运行Python文件
扩展和代码项目开了,一个砖配置概要文件,集群,回购已经设置,做到以下几点:
Python代码中的项目,打开文件,你想在集群上运行。
做下列之一:
在资源管理器视图(视图>探险家),右键单击该文件,然后选择上传和砖上运行文件从上下文菜单中。
文件编辑器的标题栏,单击下拉箭头旁边玩(运行或调试)图标。下拉列表中,点击上传和砖上运行文件。
文件在集群上运行,并打印输出调试控制台(视图>调试控制台)。
运行一个Python文件的工作
扩展和代码项目开了,一个砖配置概要文件,集群,回购已经设置,做到以下几点:
在您的代码项目,打开你想要运行的Python文件工作。
做下列之一:
在资源管理器视图(视图>探险家),右键单击该文件,然后选择砖上运行文件作为工作流从上下文菜单中。
文件编辑器的标题栏,单击下拉箭头旁边玩(运行或调试)图标。下拉列表中,点击砖上运行文件作为工作流。
将出现一个新的编辑器标签,标题砖的工作运行。工作区中的文件运行工作,和任何新编辑器标签的打印输出输出区域。
查看工作运行的信息,点击任务运行ID链接在新砖的工作运行编辑选项卡。工作区中打开和运行工作的细节都显示在工作区。
运行一个Python笔记本工作
扩展和代码项目开了,一个砖配置概要文件,集群,回购已经设置,做到以下几点:
在项目代码,打开你想要运行的Python笔记本工作。
提示
创建一个Python笔记本文件在Visual Studio代码,点击开始文件>新建文件中,选择Python文件,并保存新的文件
. py
文件扩展名。把
. py
文件到一个砖笔记本,添加特殊的评论#砖笔记本源
文件的开头,添加特殊的评论#命令- - - - - - - - - - -
在每一个细胞。有关更多信息,请参见导入一个文件,并将它转换成一个笔记本。做下列之一:
在资源管理器视图(视图>探险家笔记本文件),右键单击,然后选择砖上运行文件作为工作流从上下文菜单中。
在笔记本上文件编辑器的标题栏,单击下拉箭头旁边玩(运行或调试)图标。下拉列表中,点击砖上运行文件作为工作流。
将出现一个新的编辑器标签,标题砖的工作运行。笔记本运行作为一个工作在工作区中,笔记本和它的输出显示在新的编辑器选项卡输出区域。
查看工作运行的信息,点击任务运行ID链接砖的工作运行编辑选项卡。工作区中打开和运行工作的细节都显示在工作区。
运行一个R, Scala,或SQL笔记本工作
扩展和代码项目开了,一个砖配置概要文件,集群,回购已经设置,做到以下几点:
在您的代码项目,打开R, Scala或SQL笔记本你想运行的工作。
提示
创建一个R, Scala或SQL笔记本文件在Visual Studio代码,点击开始文件>新建文件中,选择Python文件,并保存新的文件
。r
,. scala
,或. sql
文件扩展名。把
。r
,. scala
,或. sql
文件到一个砖笔记本,添加特殊的评论砖笔记本源
一开始的文件并添加特殊的评论命令- - - - - - - - - - -
在每一个细胞。一定要使用正确的评论标记为每个语言(#
为R,/ /
Scala,- - -
对于SQL)。有关更多信息,请参见导入一个文件,并将它转换成一个笔记本。这类似于Python笔记本的模式:
在运行和调试视图(视图>运行),选择在砖上运行工作流从下拉列表中,然后单击绿色箭头(玩开始调试)图标。
请注意
如果在砖上运行工作流不可用,看到了吗创建一个自定义的运行配置。
将出现一个新的编辑器标签,标题砖的工作运行。笔记本电脑作为工作在工作空间中运行。笔记本和它的输出显示在新的编辑器选项卡输出区域。
查看工作运行的信息,点击任务运行ID链接砖的工作运行编辑选项卡。工作区中打开和运行工作的细节都显示在工作区。
先进的任务
您可以使用Visual Studio的砖扩展代码执行以下先进的任务。
运行测试与pytest
您可以运行pytest在本地代码,不需要连接到一个集群在一个偏远的砖工作区。例如,您可能使用pytest
测试你的函数接受和返回PySpark DataFrames在本地内存中。开始使用pytest
并在本地运行它,明白了开始在pytest
文档。
运行pytest
代码在一个偏远的砖工作区,在Visual Studio代码做以下项目:
步骤1:创建测试
添加一个Python与下面的代码文件,其中包含您的测试运行。这个例子假设这个文件命名spark_test.py
并在Visual Studio代码项目的根源。这个文件包含一个pytest
夹具,这使得集群的SparkSession
(集群)上的入口点火花功能测试。这个文件包含一个单独的测试,检查表中指定的细胞是否包含指定值。您可以添加您自己的测试,以根据需要这个文件。
从pyspark.sql进口SparkSession进口pytest@pytest。夹具def火花()- >SparkSession:#创建一个SparkSession(入口点引发功能)#集群在偏远的砖工作区。单元测试不#默认访问这个SparkSession。返回SparkSession。构建器。getOrCreate()#现在添加你的单元测试。#为例,这是一个必须在运行单元测试#集群在偏远的砖工作区。#这个例子判断指定的细胞#指定表包含指定值。例如,#第三列在第一行应该包含“理想”这个词:## + - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - + - - - - - - - - - - - - - + - - - - - - - - - - - - - +# | _c0 |克拉削减| | | | |清晰深度色表x y z | | | | |价格# + - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - + - - - - - - - - - - - - - + - - - - - - - - - - - - - +理想# | 1 | 0.23 | | | E SI2 55 | 326 | 3.95 | 61.5 | | 3。98 | 2.43 |# + - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - + - - - - - - - - - - - - - + - - - - - - - - - - - - - +#……#deftest_spark(火花):火花。sql(使用默认的)数据=火花。sql(“SELECT * FROM钻石”)断言数据。收集()(0][2]= =“理想”
步骤2:创建pytest跑步者
添加一个Python文件,下面的代码,指示pytest
从上一步运行你的测试。这个例子假定文件命名pytest_databricks.py
并在Visual Studio代码项目的根源。
进口pytest进口操作系统进口sys#运行所有测试远程数据砖的连接存储库工作区。#默认情况下,pytest搜索通过与文件名结尾的所有文件#“_t。py”测试。在这些文件中,pytest运行每个函数#用一个函数名开始“test_”。#得到这个文件的路径存储库工作区。repo_root=操作系统。路径。目录名(操作系统。路径。realpath(__file__))#切换到存储库的根目录。操作系统。是指(repo_root)#跳过.pyc文件写入的字节码缓存集群。sys。dont_write_bytecode=真正的#现在从存储库的根目录,运行pytest使用#参数所提供的定制运行配置# Visual Studio代码项目。在这种情况下,定制的运行#配置JSON必须包含这些独特的“程序”#“参数”对象:##……# {#……#“程序”:“$ {workspaceFolder} /道路/ /这个/文件/ /工作空间”,#“参数”:(“/道路/ / _test.py-files”)#}#……#retcode=pytest。主要(sys。argv(1:])
步骤3:创建一个自定义的运行配置
指导pytest
运行你的测试,你必须创建一个自定义的运行配置。使用现有的砖基于集群的运行配置来创建您自己的自定义运行配置,如下:
在主菜单中,点击运行>添加配置。
在命令面板中,选择砖。
Visual Studio代码添加一个
.vscode / launch.json
文件到您的项目,如果这个文件不存在。改变起动运行配置如下所示,然后保存文件:
改变这一运行配置的名字
运行在砖
为这个配置一些独特的显示名称,在本例中单位测试(在砖)
。改变
程序
从$ {file}
道路项目中包含测试运行器,在这个例子中$ {workspaceFolder} / pytest_databricks.py
。改变
arg游戏
从[]
道路项目中包含的文件和你的测试,在这个例子中(“。”)
。
你的
launch.json
文件应该是这样的:{/ /使用智能感知了解可能的属性。/ /鼠标查看现有属性的描述。/ /获取更多信息,请访问:https://go.microsoft.com/fwlink/?linkid=830387“版本”:“0.2.0”,“配置”:({“类型”:“砖”,“请求”:“启动”,“名称”:“单元测试”(砖),“程序”:“$ {workspaceFolder} / pytest_databricks.py”,“参数”:(“。”),“env”:{}}]}
步骤4:运行测试
确保pytest
已经安装在集群上。例如,集群的设置页面打开在你砖工作区,做到以下几点:
在库选项卡,如果pytest是可见的,那么
pytest
已经安装。如果pytest是不可见的,点击安装新。为库源,点击PyPI。
为包,输入
pytest
。点击安装。
等到状态改变从等待来安装。
运行测试,从Visual Studio代码做以下项目:
在主菜单中,点击视图>运行。
在运行和调试列表中,点击单元测试(砖),如果尚未选中。
单击绿色箭头(开始调试)图标。
的pytest
结果显示在调试控制台(视图>调试控制台在主菜单)。例如,这些结果表明,发现了至少一个测试spark_test.py
文件和一个点(。
)意味着一个测试被发现和传递。(一个失败的测试将显示一个F
。)
<日期>、<时间>——创建集群上执行上下文< cluster-id >…<日期>、<时间>——同步代码/回购/ < someone@example.com > / < your-repository-name >…<日期>、<时间> -运行/ pytest_databricks。py……= = = = = = = = = = = = = = = = = = = = = = = = = = = = =测试会话开始= = = = = = = = = bob体育客户端下载= = = = = = = = = = = = = = = = = = = = =平台linux——Python <版本>,pytest——<版本> pluggy - <版本> rootdir: /工作区/回购/ < someone@example.com > / < your-repository-name > spark_test收集1项。py。(100%)= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 1通过3.25 s = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = <日期>、<时间>,完成(花了10818 ms)
额外的笔记本与砖连接的特性
砖扩展Visual Studio代码支持以下特性的砖笔记本运行的扩展通过其砖连接集成。要启用这些功能,打开notebooks.dbconnect
功能实验:选择在Visual Studio代码。看到设置和运行或调试与砖连接的Python代码。
以下笔记本启用了全局变量:
火花
,代表的一个实例databricks.connect.DatabricksSession
预配置实例化DatabricksSession
通过砖的身份验证凭证的扩展。udf
,预配置作为一个别名pyspark.sql.functions.udf
,这是一个Python udf的别名。sql
,预配置作为一个别名spark.sql
。火花
如前所述,代表了一个预配置的实例databricks.connect.DatabricksSession
。dbutils
,预配置砖实用程序的一个实例,这是进口的databricks-sdk
并通过实例化砖的身份验证凭证的扩展。请注意
只有一个子集的砖与砖连接工具支持的笔记本电脑。
显示
,预配置的一个别名Jupyter内置命令IPython.display.display
。displayHTML
,预配置作为一个别名dbruntime.display.displayHTML
,这是一个别名display.HTML
从ipython
。
以下笔记本魔法是可用的:
% fs
,这是一样的dbutils.fs
调用。% sh
运行一个命令使用细胞魔法% %脚本
在本地机器上。这并不是远程数据砖的工作区中运行该命令。%医学博士
和% md-sandbox
细胞,魔法% %减价
。%的sql
,spark.sql
。%皮普
,皮普安装
在本地机器上。这并不运行皮普安装
在偏远的砖工作区。
额外的功能包括:
火花DataFrames转换为熊猫DataFrames, Jupyter表中显示的格式。
限制包括:
笔记本的魔法
运行%
,r %
,% scala
如果叫不支持和显示一个错误。笔记本电脑的魔力
%的sql
不支持一些DML命令,如显示表。
使用环境变量定义文件
Visual Studio代码支持环境变量定义为Python项目文件。这使您能够创建一个文件的扩展名.env
在开发机器上的某个地方,和Visual Studio代码将应用在这个环境变量.env
文件在运行时。有关更多信息,请参见环境变量定义文件在Visual Studio代码文档。
有砖扩展Visual Studio使用您的代码.env
文件,设置databricks.python.envFile
在你的settings.json文件或Python扩展>砖>:Env文件在设置编辑器的绝对路径.env
文件。
重要的
如果你设置settings.json
,做不集python.envFile
的绝对路径.env
文件中所描述的Visual Studio代码文档,作为Visual Studio的砖扩展的代码必须覆盖python.envFile
其内部使用。一定要只设置databricks.python.envFile
代替。
创建一个自定义的运行配置
您可以创建自定义的运行配置在Visual Studio代码传递自定义参数等做一个工作或一个笔记本,或者创建不同的运行设置不同的文件。例如,下面的自定义配置运行通过——刺激
这份工作参数:
{“版本”:“0.2.0”,“配置”:({“类型”:“databricks-workflow”,“请求”:“启动”,“名称”:“砖作为工作流的运行”,“程序”:" $ {file} ",“参数”:{},“参数”:(”——刺激”),“preLaunchTask”:“砖:同步”}]}
要创建一个自定义的运行配置,单击运行>添加配置从主菜单中在Visual Studio代码。然后选择砖基于集群的配置或运行砖:工作流就业型运行配置。
通过使用自定义运行配置,您还可以通过命令行参数和运行您的代码只是按F5。有关更多信息,请参见启动配置在Visual Studio代码文档。
卸载扩展
您可以卸载的砖扩展Visual Studio代码如果需要,如下:
在Visual Studio代码,点击视图>扩展从主菜单。
在扩展的列表,选择Visual Studio代码的砖条目。
点击卸载。
点击需要重新加载,或重新启动Visual Studio代码。
故障排除
通过一个代理错误时同步
问题:当你试图运行的砖扩展Visual Studio代码同步您的本地代码通过一个代理项目,类似于一条错误消息出现后,和同步操作不成功:得到“https:// < workspace-instance > / api / 2.0 /预览/ scim / v2 /我”:EOF
。
可能的原因:Visual Studio代码不知道如何找到代理。
推荐解决方案:重新启动Visual Studio代码从你的终端通过运行下面的命令,然后再次尝试同步:
envHTTPS_PROXY=< proxy-url >: <口>代码
在前面的命令:
取代
< proxy-url >
完整的URL到你的代理。取代
<口>
使用正确的港口在你的代理。
错误:“产生未知的系统错误-86”当你试图同步本地代码
问题:当你试图同步本地代码在一个项目中远程数据砖工作区,终端表明,同步已经开始但只会显示错误消息产卵未知的系统错误-86年
。此外,同步的目的地部分的配置窗格中仍处于等待状态。
可能的原因:错了版本的砖扩展Visual Studio代码为您的开发机器的操作系统安装。
发送日志数据砖使用
如果你有问题同步本地代码远程数据砖工作空间,您可以发送使用日志和砖支持通过以下相关信息:
打开详细模式为砖由检查命令行界面(CLI)砖:详细模式设置,或设置
databricks.bricks.verboseMode
来真正的
描述的一样,设置。还打开日志通过检查日志:启用设置,或设置
databricks.logs.enabled
来真正的
描述的一样,设置。一定要重新启动Visual Studio代码后打开日志记录。试图重现你的问题。
从命令面板(视图>命令面板从主菜单中),运行砖:开放完整的日志命令。
发送
bricks-logs.json
和sdk-and-extension-logs.json
文件似乎砖的支持。也复制的内容终端(视图>终端)的问题,并将这些内容发送到砖的支持。
发送错误日志,没有对代码同步问题砖支持:
从命令面板(视图>命令面板),运行砖:开放完整的日志命令。
只发送
sdk-and-extension-logs.json
文件似乎砖的支持。
的输出视图(视图>输出,砖日志如果)显示截短信息日志:启用检查或databricks.logs.enabled
被设置为真正的
。显示更多信息,更改以下设置,如中描述设置:
日志:马克斯数组长度orgydF4y2Ba
databricks.logs.maxArrayLength
日志:马克斯字段长度orgydF4y2Ba
databricks.logs.maxFieldLength
日志:截断深度orgydF4y2Ba
databricks.logs.truncationDepth
命令面板
砖扩展Visual Studio代码将以下命令添加到Visual Studio代码命令面板。另请参阅命令面板在Visual Studio代码文档。
命令 |
描述 |
---|---|
|
使智能感知PySpark Visual Studio代码代码编辑器,砖公用事业、和相关的全局变量等 |
|
移动焦点的命令面板创建、选择或改变砖集群为当前项目使用。看到设置集群。 |
|
|
|
移动焦点的命令面板创建、选择或改变砖认证用于当前项目的细节。看到设置身份验证配置概要文件。 |
|
创建一个新的目的地同步。 |
|
删除当前项目的参考数据砖集群。 |
|
消除了同步目的地从当前项目的引用。 |
|
移动的焦点砖视图的集群窗格。 这个命令只有在出现 |
|
移动的焦点砖视图的配置窗格。 |
|
移动的焦点砖视图的工作空间浏览器窗格。 这个命令只有在出现 |
|
重置砖视图显示配置数据砖和显示快速入门按钮的配置窗格。在当前项目的任何内容 |
|
打开数据砖配置概要文件,默认位置,为当前项目。看到设置身份验证配置概要文件。 |
|
打开文件夹,其中包含应用程序日志文件的砖扩展Visual Studio代码写入您的开发机器上。 |
|
刷新工作空间浏览器窗格中砖视图。 |
|
在集群上运行Python文件。 |
|
在编辑器中显示了快速入门文件。 |
|
如果它已经停止启动集群。 |
|
开始同步当前项目的代码砖工作区。这个命令执行增量同步。 |
|
开始同步当前项目的代码砖工作区。这个命令执行一个完整的同步,即使增量同步是可能的。 |
|
如果它已经停止集群运行。 |
|
停止同步当前项目的代码砖工作区。 |
|
运行Python文件或一个笔记本作为自动化砖工作在工作区中。 |
设置
Visual Studio的砖扩展Visual Studio代码代码添加以下设置。另请参阅设置编辑器和settings.json在Visual Studio代码文档。
设置编辑器(扩展>砖) |
settings.json |
描述 |
---|---|---|
Cli:详细模式 |
|
检查或设置为 检查或设置为 |
集群:只显示访问集群 |
|
检查或设置为 |
实验:选择 |
|
启用或禁用实验特性的扩展。可用的功能包括:
|
日志:启用 |
|
检查或设置为 |
日志:马克斯数组长度 |
|
对数组字段显示的条目的最大数量。默认值是 |
日志:马克斯字段长度 |
|
每个字段的最大长度显示在日志输出面板。默认值是 |
日志:截断深度 |
|
没有截断日志显示的最大深度。默认值是 |
覆盖砖配置文件 |
|
一个替代的位置 |
Python: Env文件 |
|
您的自定义Python的绝对路径环境变量定义( |
同步:目的地类型 |
|
在工作区中是否使用一个目录( 设置这个 刷新你的窗口任何改变生效。 |
常见问题(faq)
你有支持或支持的时间表,有下列功能?
其他语言,比如Scala或SQL
三角洲生活表
砖SQL的仓库
其他的ide,比如PyCharm
附加的库
完整的CI / CD集成
砖是意识到这些请求和优先工作,使简单的场景为当地发展和远程运行的代码。请转发其他请求和场景你砖的代表。砖将输入合并到未来的规划。
起程拓殖提供者如何砖与砖扩展Visual Studio代码?
砖继续推荐砖起程拓殖的提供者管理你的CI / CD管道以可预测的方式。请让你的砖代表知道如何使用IDE来管理你的将来部署。砖将输入合并到未来的规划。
如何由砖实验室与dbx砖扩展Visual Studio代码?
的主要特征dbx的砖实验室包括:
项目脚手架。
有限的地方发展
dbx执行
命令。CI / CD砖的工作。
的砖扩展Visual Studio代码支持地方发展和远程运行Python代码文件数据砖集群,在砖和远程运行Python代码文件和笔记本工作。dbx
可以继续用于项目脚手架和CI / CD砖的工作。
如果我已经有一个现有的砖我创建的配置概要文件通过砖CLI ?
您可以选择您的现有配置概要文件配置的砖扩展Visual Studio时代码。扩展和代码项目打开时,执行以下操作:
在配置窗格中,点击齿轮(配置工作空间)图标。
输入您的工作区实例URL例如,
https://1234567890123456.7.gcp.www.neidfyre.com
。在命令面板,选择您的现有配置概要文件。
我需要什么权限砖工作区使用砖扩展Visual Studio代码?
你必须有执行权限砖集群运行代码,以及权限来创建一个存储库在砖回购。
我可以用的砖扩展Visual Studio代码与代理?
是的。看到推荐的解决方案通过一个代理错误时同步。
我可以使用Visual Studio的砖扩展代码与现有与远程Git存储库存储提供商?
不。的砖扩展Visual Studio代码只能创建存储库。