Scala 如何以最有效的方式删除spark RDD的标题行?

Scala 如何以最有效的方式删除spark RDD的标题行?,scala,apache-spark,Scala,Apache Spark,这是我所拥有的数据帧的示例。顺便说一句,一些公司提出这种问题是为了测试对Spark数据帧的理解。因此,与其提出避免这个问题的理想方法,不如想出最有效的方法 val full_csv = sc.parallelize(Array( "col_1, col_2, col_3", "1, ABDFGHC, XYZ", "2, ADASDFA, LOM", "3, WERWRE, BCT")) 您有一个RDD而不是数据帧;话虽如此,如果您知道第一列的名称,您可以使用filter删除第一

这是我所拥有的数据帧的示例。顺便说一句,一些公司提出这种问题是为了测试对Spark数据帧的理解。因此,与其提出避免这个问题的理想方法,不如想出最有效的方法

val full_csv = sc.parallelize(Array(
  "col_1, col_2, col_3",
  "1, ABDFGHC, XYZ",
  "2, ADASDFA, LOM",
  "3, WERWRE, BCT"))

您有一个RDD而不是数据帧;话虽如此,如果您知道第一列的名称,您可以使用
filter
删除第一行:

full_csv.filter(s => !s.startsWith("col_1")).collect
// res11: Array[String] = Array(1, ABDFGHC, XYZ, 2, ADASDFA, LOM, 3, WERWRE, BCT)

当rdd变得巨大时,这是最有效的方法吗?这是一般的方法。请注意,
filter
是延迟计算的,因此在链接操作方法之前,bool检查不会运行。您的性能很可能会受到其他因素的影响,而不是筛选器操作。在我看来,重复听起来像是在读取csv,为什么不使用适当的方法来执行此操作
spark.read.options(“header”,true).csv(“path”)
试试这个完整的\u csv.collect.drop(1)希望它能有所帮助