pyspark 无法在Visual Studio Code(Databricks Connect V2)中使用Databricks扩展运行某些方法

nqwrtyyt  于 2023-10-15  发布在  Spark
关注(0)|答案(1)|浏览(121)

按照https://learn.microsoft.com/en-us/azure/databricks/dev-tools/vscode-ext/dev-tasks/databricks-connect中的说明,当我试图运行提供的示例代码(https://learn.microsoft.com/en-us/azure/databricks/dev-tools/vscode-ext/tutorial)时,特别是在'show'方法中,我在VS Code终端中得到以下错误代码。当我使用jupyter notebook运行它时,也会发生同样的错误。
只是想知道是否有人遇到过这样的问题,并已解决它?
以下是一些值得一提的要点:
1.我使用的VS Code的Databricks扩展是v1.1.3
1.我在一个虚拟环境中使用python版本3.10.4,它与我的Databricks集群python版本一致
1.如果我不运行show()方法,而只是简单地运行print(type(customers))或customers.printSchema(),一切都很好,我在VS Code终端中得到了正确的输出
1.我在处理.py文件时使用“Run Python File”选项,在处理.ipynb文件时使用“debug cell”选项,根据上面的链接,该文件使用Databricks Connect

pyspark.errors.exceptions.connect.SparkConnectGrpcException:<_MultiThreadedRendezvous的RPC终止于:status = StatusCode.UNIMPLEMENTED details =“未找到方法:spark.connect.SparkConnectService/ReattachExecute”debug_error_string =“UNKNOWN:从对等体{grpc_message:“收到错误未找到方法:Spark.connect.SparkConnectService/ReattachExecute”,grpc_status:12,created_time:“2023-10-02T22:47:34.7298799+00:00”}"

from pyspark.sql import SparkSession
from pyspark.sql.types import *

spark = SparkSession.builder.getOrCreate()

schema = StructType([
   StructField('CustomerID', IntegerType(), False),
   StructField('FirstName',  StringType(),  False),
   StructField('LastName',   StringType(),  False)
])

data = [
   [ 1000, 'Mathijs', 'Oosterhout-Rijntjes' ],
   [ 1001, 'Joost',   'van Brunswijk' ],
   [ 1002, 'Stan',    'Bokenkamp' ]
]

customers = spark.createDataFrame(data, schema)
customers.show()
suzh9iv8

suzh9iv81#

DB Connect的版本应与群集版本匹配。它实际上在文档中提到:

**Databricks Connect主要和次要软件包版本应与您的Databricks版本相匹配。*Databricks建议您始终使用与您的Databricks版本相匹配的最新的Databricks Connect软件包。例如,当您使用Databricks 14.0群集时,还应该使用databricks-connect==14.0. 包。

相关问题