Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.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函数不返回值_Scala_Apache Spark - Fatal编程技术网

Scala函数不返回值

Scala函数不返回值,scala,apache-spark,Scala,Apache Spark,我想我理解隐式回报的规则,但我不明白为什么没有设置splithead。此代码通过 val m = new TaxiModel(sc, file) 然后我期待 m.splithead 给我一个数组字符串。注意head是一个字符串数组 import org.apache.spark.SparkContext import org.apache.spark.rdd.RDD class TaxiModel(sc: SparkContext, dat: String) { val rawDat

我想我理解隐式回报的规则,但我不明白为什么没有设置splithead。此代码通过

val m = new TaxiModel(sc, file) 
然后我期待

m.splithead
给我一个数组字符串。注意head是一个字符串数组

import org.apache.spark.SparkContext
import org.apache.spark.rdd.RDD

class TaxiModel(sc: SparkContext, dat: String) {
  val rawData = sc.textFile(dat)

  val head = rawData.take(10)
  val splithead = head.slice(1,11).foreach(splitData)

  def splitData(dat: String): Array[String] = {
    val splits = dat.split("\",\"")
    val split0 = splits(0).substring(1, splits(0).length)
    val split8 = splits(8).substring(0, splits(8).length - 1)
    Array(split0).union(splits.slice(1, 8)).union(Array(split8))
  }
}

foreach
只计算表达式,在迭代时不收集任何数据。您可能需要
map
flatMap
(参见文档)


foreach
只计算表达式,在迭代时不收集任何数据。您可能需要
map
flatMap
(参见文档)


还可以考虑一个用于理解的示例(在本例中,将其分解为
flatMap

证明等同于以下任何一项

splits(0).drop(1)
splits(0).tail

还可以考虑一个用于理解的示例(在本例中,将其分解为
flatMap

证明等同于以下任何一项

splits(0).drop(1)
splits(0).tail

当您不确定自己写了什么时,请添加显式类型信息(
val slithead:Array[String]=…
),并让编译器告诉您做错了什么。
s/Scala函数/Your函数/
这是个好主意,谢谢您不确定自己写了什么时,请添加显式类型信息(
val slithead:Array>)[String]=…
)并让编译器告诉您做错了什么。
s/Scala function/Your function/
这是个好主意,谢谢
splits(0).substring(1, splits(0).length)
splits(0).drop(1)
splits(0).tail