使用SparkR的Sparklyr:解决函数参数问题

时间:2019-04-14 08:19:47

标签: r sparkr sparklyr

我正在使用SparkR运行 Sparklyr 。当我尝试使用由schema()创建的数据表调用spark_read_csv()函数时,收到以下错误(以及select()lapply()函数上的类似错误):< / p>

(函数(类,fdef,mtable)中存在错误:

  

无法找到函数“ schema”的继承方法进行签名   ‘“ tbl_spark”’

以下是我的版本信息:

  

R版本3.5.3(2019-03-11)

     

平台:x86_64-w64-mingw32 / x64(64位)

     

在以下环境中运行:Windows Server> = 2012 x64(内部版本9200)

... 其他附件包: [1]

  

sparklyr_1.0.9005 SparkR_2.4.1

以下是一些示例代码:

library(SparkR, lib.loc = c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib")))
library(sparklyr)

...

sc <- spark_connect(master = "spark://<server>",spark_home = 
"C:/Users/paul/Downloads/spark-2.4.1-bin-hadoop2.7", app_name = "sparklyr",config=config)

...

AWIDData = spark_read_csv(sc, name = "AWIDData", path = "hdfs://<server>/AWID/dataset-headers-tst.csv")

...

SparkR::schema(AWIDData)

我希望这会为tbl_spark数据表创建架构结构,但解析正确的调用函数时会出现某种错误。

1 个答案:

答案 0 :(得分:0)

混淆可能是由于将两个软件包SparkRsparklyr中的函数混合在一起的结果。由于您已经通过sparklyr函数(spark_read_csv)创建了到数据源的连接,因此您需要使用sparklyr函数sdf_schema而不是schema