gpt4 book ai didi

r - 并行化不工作 sparkR

转载 作者:行者123 更新时间:2023-12-04 09:20:30 25 4
gpt4 key购买 nike

当我运行下面的代码时:

rdd <- lapply(parallelize(sc, 1:10), function(x) list(a=x, b=as.character(x)))
df <- createDataFrame(sqlContext, rdd)

我收到一条错误消息说

Error in lapply(parallelize(sc, 1:10), function(x) list(a = x, b = as.character(x))) : 
could not find function "parallelize"

但是我可以创建数据框:

library(magrittr)
library(SparkR)
library(rJava)
Sys.setenv(SPARK_HOME="C:\\Apache\\spark-1.6.0-bin-hadoop2.6")

.libPaths(c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib"), .libPaths()))

library("SparkR", lib.loc="C:\\Apache\\spark-1.6.0-bin-hadoop2.6\\lib")
library(SparkR)

sc <- sparkR.init(master="local")
sqlContext <- sparkRSQL.init(sc)
localDF <- data.frame(name=c("John", "Smith", "Sarah"), age=c(19, 23, 18))
df <- createDataFrame(sqlContext, localDF)

为什么 parrelelize 不起作用?

最佳答案

Spark < 2.0:

它不起作用,因为自 SparkR (Spark 1.4.0) 首次正式发布以来,RDD API 不再公开可用。你可以查看SPARK-7230 (Make RDD API private in SparkR for Spark 1.4)了解详情。

虽然可以使用内部 API(通过 :::)访问其中一些方法,但您不应该依赖它。除了一些异常(exception),这些不再被当前代码库使用或积极维护。更重要的是,存在多个不太可能解决的已知问题。

如果您对较低级别的 R 访问感兴趣,您应该关注 SPARK-7264 ) 用于并行函数的 SparkR API) 和 SPARK-6817 (R 中的 DataFrame UDF)。

Spark 2.0+:

Spark 2.0 引入了一组方法(dapplygapplylapply),旨在与 Spark DataFrame 之上的 R UDF 协同工作。 .

关于r - 并行化不工作 sparkR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34670006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com