Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala Spark-任务不可序列化_Scala_Apache Spark - Fatal编程技术网

Scala Spark-任务不可序列化

Scala Spark-任务不可序列化,scala,apache-spark,Scala,Apache Spark,我有以下代码,其中错误在sc.parallelize()上 val pairs=ret.cartesian(ret) .地图{ 案例((k1,v1),(k2,v2))=>((k1,k2),(v1.toList,v2.toList)) } for(pairfor comprehension就是做一个pairs.map() RDD操作由工作人员执行,要让他们执行该操作,您发送给他们的任何内容都必须是可序列化的。SparkContext连接到主服务器:它负责管理整个集群 如果你想创建一个RDD,你必须

我有以下代码,其中错误在sc.parallelize()上

val pairs=ret.cartesian(ret)
.地图{
案例((k1,v1),(k2,v2))=>((k1,k2),(v1.toList,v2.toList))
}

for(pairfor comprehension就是做一个pairs.map()

RDD操作由工作人员执行,要让他们执行该操作,您发送给他们的任何内容都必须是可序列化的。SparkContext连接到主服务器:它负责管理整个集群

如果你想创建一个RDD,你必须知道整个集群(这是第二个“D”-分布式),所以你不能在worker上创建一个新的RDD。而且你可能不想把每一行成对地变成一个RDD(并且每一行都有相同的名称!)

很难从代码中看出您想要做什么,但它可能看起来是这样的

val test = pairs.map( r => r._2._1) 

这将是一个RDD,其中每一行都是v1中的内容。toList的

您的第一个映射似乎是一个noop。您打算对第二个映射做什么?第一个映射只是重新格式化数据,第二个映射用于从列表生成RDD。它在第二个映射总是失败,因为我无法序列化sc。对的类型是什么?
val test = pairs.map( r => r._2._1)