Я столкнулся с разочаровывающей проблемой при попытке использовать groupByKey
или любую функцию PairRDD или MappedRDD. Что я получаю, так это то, что у меня всегда есть только RDD
, и я не знаю, как его преобразовать (на самом деле я совершенно уверен, что преобразование должно быть автоматически обнаружено Scala). Мой код следующий:
val broadcastedDistanceMeasure = sc.broadcast(dbScanSettings.distanceMeasure)
val distances = input.cartesian(input)
.filter(t => t._1!=t._2)
.map( {
case(p1, p2) => (p1) -> broadcastedDistanceMeasure.value.distance(p1,p2)
})
где input
это RDD
. И результирующий тип согласно Eclise и sbt run
на самом деле является RDD
. Поэтому я не могу выполнить операцию groupByKey
. Если я попробую почти тот же код в оболочке spark, вместо этого я получу ошибку MappedRDD
.
Это мой build.sbt
файл:
scalaVersion := "2.10.4"
libraryDependencies += "org.apache.spark" % "spark-core_2.10" % "1.1.0"
Кто-нибудь может мне помочь?
Спасибо.
Привет.
Марко
groupByKey
только потому, что НЕ импортируетеorg.apache.spark.SparkContext._
. - person ale64bit   schedule 07.03.2015