任务不可序列化的火花REPL

时间:2018-04-12 17:47:28

标签: apache-spark read-eval-print-loop

其他基础知识出错

我正在尝试在spark上下文中读取文件并通过执行此操作跳过文件的标题

scala> val read = sc.textFile("/user/edureka/data/ls2014.tsv")
scala> val header = read.first
scala> val data = read.filter(row => (row != header))

用这些我得到错误" org.apache.spark.SparkException:任务不可序列化"。

序列化如何在这种情况下工作..想知道基本的以及为什么它在这里出错。

注意:我知道有其他方法可以跳过文件的标题。但是我想知道在这种情况下序列化的概念。请分享您的观点。

1 个答案:

答案 0 :(得分:0)

你有行,我认为你的意思是rec:

val restfile = read.map(rec => row != header)

应该是这样的:

val restfile = read.map(rec => rec != header)

可能行是你之前在repl中定义的一个不可序列化的东西,因此不能通过闭包自动传递给执行者。

相关问题