You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Databricks Notebook中结合Python与R遇连接错误求助

在Databricks Notebook中结合Python与R进行数据操作的问题

我希望在Databricks Notebook中结合Python与R进行数据操作,已编写以下Python代码创建Spark DataFrame:

from pyspark.sql import SparkSession

spark = SparkSession.builder.appName("CreateDataFrame").getOrCreate()

# Create a sample DataFrame
data = [("Alice", 25), ("Bob", 30), ("Charlie", 35), ("Oscar",36), ("Hiromi",41), ("Alejandro", 42)]
df = spark.createDataFrame(data, ["Name", "Age"])
display(df)

随后编写R代码尝试连接同一Spark集群:

%r
install.packages("sparklyr", version ="1.8.0")
library(sparklyr)
# Connect to the same Spark cluster
sc <- spark_connect(master = "yarn-client", version = "1.8.0")

但出现如下错误:

Error in spark_connect_gateway(gatewayAddress, gatewayPort, sessionId, :
Gateway in localhost:8880 did not respond.

Try running options(sparklyr.log.console = TRUE) followed by sc <- spark_connect(...) for more debugging info.
Some( Error in spark_connect_gateway(gatewayAddress, gatewayPort, sessionId, : Gateway in localhost:8880 did not respond. )


解决方法

在Databricks Notebook中,跨语言共享Spark上下文无需手动调用spark_connect,平台已内置共享的Spark环境,直接使用即可,具体步骤如下:

  1. Python侧注册临时视图
    在Python单元格末尾添加代码,将DataFrame注册为全局临时视图,让R可以直接访问:

    # 注册全局临时视图
    df.createOrReplaceGlobalTempView("people")
    
  2. R侧直接访问共享数据
    Databricks的R环境已预装适配版本的sparklyr,无需手动安装。直接使用内置的Spark连接读取数据即可:

    %r
    library(sparklyr)
    
    # 方式1:从全局临时视图读取
    r_df <- spark_read_table(sc = spark_connection(), name = "global_temp.people")
    
    # 方式2:用SQL查询
    r_df <- spark_sql("SELECT * FROM global_temp.people")
    
    # 展示数据
    display(r_df)
    
  3. 若需手动连接sparklyr
    若一定要手动建立连接,需使用Databricks专属参数,不要指定master = "yarn-client":

    %r
    library(sparklyr)
    sc <- spark_connect(method = "databricks")
    

    该方式会自动适配Databricks内置网关,避免localhost连接错误。

说明:Databricks多语言Notebook原生支持共享Spark会话,通过临时视图跨语言共享数据是最简便高效的方式,无需手动创建新连接。

内容的提问来源于stack exchange,提问作者Oscar CENTENO MORA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 11:22:48