【问题标题】:Spark session is not getting initialized | sparkR.session() gives the error "Error in if (len > 0) { : argument is of length zero"Spark 会话未初始化 | sparkR.session() 给出错误“if (len > 0) { 中的错误:参数长度为零”
【发布时间】:2021-03-03 21:49:02
【问题描述】:

我目前正在使用托管在 databricks 集群外部的 Rstudio 服务器,并按照步骤配置 Databricks Connect。连接测试也成功了。但是当我使用下面的代码初始化一个 Spark 会话时,它会抛出一个错误。

>>library(SparkR)
>>sparkR.session()

我什至尝试过下面的命令,但抛出了同样的错误:

SparkR::sparkR.session()

WARN NativeCodeLoader:无法为您的平台加载 native-hadoop 库...在适用的情况下使用内置 java 类 使用 Spark 的默认 log4j 配置文件:org/apache/spark/log4j-defaults.properties 将默认日志级别设置为“WARN”。 要调整日志记录级别,请使用 sc.setLogLevel(newLevel)。对于 SparkR,使用 setLogLevel(newLevel)。 if (len > 0) { 中的错误:参数长度为零

我想访问 databricks 上的 SQL 表或在 R 中编写一个 sql 查询,如下所示:

diamonds <- sql("select * from default.diamonds")

需要初始化 Spark 会话。让我知道是否可以应用任何其他替代方案。

【问题讨论】:

    标签: apache-spark databricks sparkr databricks-connect


    【解决方案1】:

    我遇到了类似的问题。我对我的代码进行了以下更改。

    library(SparkR, lib.loc = "/usr/local/spark/R/lib")
    sparkEnvir <- list(spark.num.executors='5', spark.executor.cores='5')
    # initializing Spark context
    sc <- sparkR.init(sparkHome = "/usr/local/spark",
                      sparkEnvir = sparkEnvir)
    # initializing SQL context
    sqlContext <- sparkRSQL.init(sc)
    

    【讨论】:

      猜你喜欢
      • 2016-11-26
      • 1970-01-01
      • 1970-01-01
      • 2014-07-27
      • 1970-01-01
      • 1970-01-01
      • 2018-08-07
      • 2012-08-31
      • 1970-01-01
      相关资源
      最近更新 更多