Ich möchte einen DataFrame aus einer Liste von Zeichenfolge erstellen, die vorhandenen Schema übereinstimmen könnte. Hier ist mein Code.Scala Spark: So erstellen Sie eine RDD aus einer Liste von Zeichenfolge und konvertieren in Datenrahmen
val rowValues = List("ann", "f", "90", "world", "23456") // fails
val rowValueTuple = ("ann", "f", "90", "world", "23456") //works
val newRow = sqlContext.sparkContext.parallelize(Seq(rowValueTuple)).toDF(df.columns: _*)
val newdf = df.unionAll(newRow).show()
Derselbe Code schlägt fehl, wenn ich die Liste der Zeichenkette verwende. Ich sehe den Unterschied ist mit rowValueTuple
ein Tuple
erstellt wird. Da die Größe der rowValues
Liste dynamisch ändert, kann ich Tuple*
Objekt nicht manuell erstellen. Wie kann ich das tun? Was vermisse ich? Wie kann ich diese Liste reduzieren, um die Anforderung zu erfüllen?
Schätzen Sie Ihre Hilfe, bitte.
Der erste gibt Ihnen einen DF mit einer Spalte und 5 Zeilen. Die zweite gibt Ihnen einen DF mit einer einzelnen Zeile mit einer einzelnen Spalte, die ein Tupel enthält. Sehr unterschiedliche Dinge. –