- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Spark 新手,正在作为 Hadoop 边缘节点的 RServer 上尝试 SparkR 2.0.0。创建和查询 DataFrame 都很好。但这里有一个问题,我想看看它是如何工作的。
给定一个项目,我需要查询外部数据源以获取相关数据,通过一些 ML 库调用进行机器学习并转储结果。我需要对大约 500 个项目进行此学习。显然,我想使用所有可用工作节点上的所有 CPU,以便可以并行进行 500 ML 运行。我注意到开源 R 上的 native ML 调用不需要太多时间来运行该项目数据集的算法(通常约为 10000 行 - 总共 1 分钟即可获取数据、运行 ML 并提供我需要的结果)。
请注意,我没有调用 Spark 的 ML。但我试图看看我是否可以仅使用 Spark 进行分布式并行计算,并看看我能学习多快。另一种方法是加载 Spark DataFrame 中的所有 500 个项目,然后让 Spark 来确定如何在分区的 DataFrame 上运行 ML。但这是一项单独的工作和研究,旨在比较其在多个、并行和分布式迷你 ML 运行(每个项目 1 个)方面的表现。
问题:如何在 Spark R 中调用并行化?我是否必须使用 callJmethod 传递项目的 SparkDataFrame 并调用每个项目的函数调用?或者是否有更好的方法来并行化我的项目集合并对每个项目进行函数调用(如并行 dApply)?任何提示/帮助表示赞赏。
抱歉,帖子太长了。我对 Spark 相当陌生,似乎有 Scala/Java/R 和 Python 方法,并且可能 R 方法相对限于我还没有 catch 的其他方法。谢谢!
最佳答案
您尝试过spark.lapply函数(link ->spark.lapply)吗?基本上,它使用 Spark 作为资源提供者,而不是“大数据”处理的工具。如果你的 500 个项目的数据可以在内存中处理,你可以创建一个包含 500 个元素的列表(每个元素都有相应的数据+一些其他东西,比如超参数),并将其与适当的函数一起传递给spark.lapply(比如一些机器学习)模型)。 Spark 应该做的事情类似于并行包(在工作节点上打开单独的 RSession,分发计算并将结果返回给驱动程序)。
关于r - 使用 SparkR 2.0.0 进行并行分布式处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43260786/
我目前正在尝试使用 sparkR 1.5.1 版实现一些功能。我看过较旧的(1.3 版)示例,其中人们在 DataFrames 上使用了 apply 函数,但看起来这不再直接可用。例子: x = c(
zeppelin R 解释器文档说明: If you return a data.frame, Zeppelin will attempt to display it using Zeppelin's
我正在尝试使用存储在 hbase 中的数据在 sparkR 中创建一个 spark 数据框。 有谁知道如何在 SQLontext 中指定数据源参数或任何其他方式来解决这个问题? 最佳答案 您可能想看看
我收到以下错误: Error in if (javaVersionNum != sparkJavaVersion) { : missing value where TRUE/FALSE needed
我已将 Spark 发行版中的 SparkR 包安装到 R 库中。我可以调用以下命令,它似乎可以正常工作:library(SparkR) 但是,当我尝试使用以下代码获取 Spark 上下文时, sc
我编写了一个 SparkR 代码,想知道是否可以在 EMR 集群上使用 Spark-submit 或 SparkR 提交它。 我尝试过多种方法,例如:sparkR mySparkRScript.r 或
我在数据框中的一列中有以下值 231204.66666666666 376.0 346593.5 802.0
免责声明:我几乎没有使用 SparkR 的经验 采用以下数据框: ID Date1 Date2 58844880 04/11/16 NaN 59745846
我正在探索 SparkR 以计算统计数据,例如分位数、平均值、类别频率(源文件为 Amazon S3 - csv 格式)。 我能够解析 csv 文件并创建数据框。但是,我无法将此 spark-data
我决定提出这个问题是因为 the answer provided to a very similar问题不适用于我的场景: 我想合并这两个 SparkR 数据帧 df1 col1 col2
当我运行下面的代码时: rdd <- lapply(parallelize(sc, 1:10), function(x) list(a=x, b=as.character(x))) df <- cre
SparkR 版本 1.4.1 我正在尝试在两个连接条件下连接两个数据帧 df1 和 df2: df3 <- join(df1, df2, df1$col1==df2$col2 && df1$col3
我有一个从 MySQL 上传到 SparkR 的 Formal Class DataFrame 对象(通过 json 文件),其中包含如下格式的字符串: “2012-07-02 20:14:00” 我
SparkR库中有没有类似melt的函数? 将 1 行 50 列的数据转换为 50 行 3 列? 最佳答案 SparkR 中没有提供类似功能的内置函数。您可以使用 explode 构建自己的 libr
我有一个从 MySQL 上传到 SparkR 的 Formal Class DataFrame 对象(通过 json 文件),其中包含如下格式的字符串: “2012-07-02 20:14:00” 我
我正在将一些数据加载到 sparkR(Spark 版本 1.4.0,在 fedora21 上运行),我在上面运行一些算法,生成三个不同的数字。我的算法需要一堆参数,我想在相同数据上运行不同的参数设置。
我有一个 spark 数据框: library(SparkR); library(magrittr) as.DataFrame(mtcars) %>% groupBy("am") 如何取消对这个
我们在服务器上保存了 parquet 数据,我正在尝试通过以下方式使用 SparkR sql() 函数 df SELECT * FROM parquet.` SELECT * FROM table"
我正在使用 SparkR 2.1.0 进行数据操作 我想以编程方式按多列分组。我知道如果我单独列出它们,或者从向量中引用它们的位置,我可以按多列分组......但我希望能够将列列表作为向量传递(这样,
我有一个位于 Parquet 文件中的 500K 行 spark DataFrame。我正在使用 spark 2.0.0 和 SparkR Spark(RStudio 和 R 3.3.1)中的软件包,
我是一名优秀的程序员,十分优秀!