Ich bin neu in Scala und ich habe versucht, das Programm maximale Temperatur von Hadoop definitive Anleitung ausführen, aber es ist Fehlerarray out-of-Exception in letzten. Und ich bin nicht in der Lage, den Code klar zu verstehen, der in dem Buch steht.Spark Maximale Temperatur Beispiel durch definitive Anleitung
Unten ist der Code
import org.apache.spark.SparkContext._
import org.apache.spark.{SparkConf, SparkContext}
object MaxTemperature {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("Max Temperature").setMaster("local")
val sc = new SparkContext(conf)
val lines = sc.textFile("011990-99999-1949.txt")
val records = lines.map(_.split("\t"))
val filtered = records.filter(rec => (rec(1) != "9999"
&& rec(2).matches("[01459]")))
val tuples = filtered.map(rec => (rec(0).toInt, rec(1).toInt))
val maxTemps = tuples.reduceByKey((a, b) => Math.max(a, b))
maxTemps.foreach(println(_))
}
}
ich den Punkt bin immer nur, dass sie die Datei und nach dieser Spaltung und Map-Funktion Ich habe versucht, mich nicht immer lesen die Split- und Kartenfunktion auf verschiedene RDD zu brechen aber keine nützlichen Dinge, kann mir jemand vorschlagen, wie man die Ausgabe für jeden Schritt überprüft.
Dank & Grüße Amit
Welche Zeile gibt die Ausnahme? Da es auch explizite Indizes gibt, die für 'rec' verwendet werden, verlassen Sie sich auf das Format der Eingabedatei und jede Zeile hat mindestens 3 enties - können Sie also sagen, wie das aussieht? –
Das Problem ist mit der Formatierung der Eingabetextdatei. Es sollte keine leeren Zeilen geben und jede Zeile sollte 3 oder mehr tabulatorgetrennte Variablen haben. – gonephishing
Hallo, ich versuche, diese Zeilen der Datei zu verarbeiten, aber es ist nicht in der Zeile vorhanden und ich bin mir nicht sicher, wo ich die Zeile nach Tab aufteilen muss, damit ich das gewünschte Ergebnis bekommen kann. 0067011990999991949010107004 + 68750 + 023550FM-12 + 038299999V0201801N006719999999N9999999N9-00281 + 99999999999ADDAA199000591AY131999GF108991999999999999999999KA1999N-01001MW1101 0043011990999991949010112004 + 68750 + 023550FM-12 + 038299999V0201801N006719999999N9999999N9-00281 + 99999999999ADDAY131999GF108991999999999999999999MW1361 –