繁体   English   中英

Sparklyr无法引用spark_apply中的表

[英]Sparklyr cannot reference table in spark_apply

我想使用spark_apply遍历用于特征生成的许多数据过程。 为此,我需要引用已经加载到spark中的表,但是会出现以下错误:

错误sparklyr:RScript(3076)意外终止:找不到对象'ref_table'

一个可重现的示例:

ref_table <-   sdf_along(sc, 10)
apply_table <- sdf_along(sc, 10)

spark_apply(x = apply_table, 
            f = function(x) {
              c(x, ref_table)
            })

我知道我可以在函数内部引用库,但不确定如何调用数据。 我正在通过rstudio运行本地Spark集群。

不幸的是,这里的失败是可以预期的。

由于基于Apache Spark的平台,Apache Spark不支持这种嵌套转换。 您不能从工作程序代码中使用嵌套转换,分布式对象或Spark上下文(在spark_connection情况下为sparklyr )。

有关详细说明,请检查我的回答。 是否有理由在编写Spark作业时不使用SparkContext.getOrCreate?

您的问题并没有提供足够的背景信息来确定最佳的解决方案,但总的来说,有两种可能的解决方案:

  • 只要其中一个数据集足够小,可以存储在内存中,就可以直接在闭包中将其用作普通R对象。
  • 重新制定您的问题作为join或笛卡尔乘积(斯巴克的crossJoin )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM