我正在使用SparkR运行Sparklyr。 当我尝试使用spark_read_csv()
创建的数据表调用schema()
函数时,我收到以下错误(以及select()
和lapply()
函数上的类似错误(:
错误 (函数 (类, fdef, mtable( :
找不到用于签名的函数"架构"的继承方法 "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数据表创建架构结构,但它在解析要调用的正确函数时存在某种错误。
混淆可能是混合了两个包的结果 SparkR
和 sparklyr
。由于您已经通过sparklyr
函数(spark_read_csv
(创建了与数据源的连接,因此您需要使用sparklyr
函数sdf_schema
而不是schema
。