Erstellen Funke DataFrame. Lässt sich nicht entnehmen schema für Typ: <type 'float'>
Könnte mir jemand helfen dieses problem zu lösen, habe ich mit Spark DataFrame?
Wenn ich myFloatRDD.toDF()
bekomme ich eine Fehlermeldung:
TypeError: Lässt sich nicht entnehmen schema für Typ: type 'float'
Ich verstehe nicht, warum...
Beispiel:
myFloatRdd = sc.parallelize([1.0,2.0,3.0])
df = myFloatRdd.toDF()
Dank
InformationsquelleAutor Breach | 2015-09-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
SparkSession.createDataFrame
, die verwendet wird, unter der Haube, benötigt einRDD
/list
vonRow
/tuple
/list
/* oderdict
pandas.DataFrame
, es sei denn, schema mitDataType
zur Verfügung. Versuchen, zu konvertieren von float-zu-Tupel wie diese:oder noch besser:
Erstellen
DataFrame
aus einer Liste von skalaren, die Sie verwenden müssenSparkSession.createDataFrame
direkt und stellen ein schema***:aber für eine einfache Auswahl, es wäre besser, verwenden
SparkSession.range
:* Nicht mehr unterstützt.
** Spark SQL bietet auch eine eingeschränkte Unterstützung für schema-Ableitung auf Python-Objekte freilegen
__dict__
.*** Unterstützung nur für Spark 2.0 oder höher.
myFloatRdd.map(lambda x: (x, )).toDF()
dieses problem zu beheben? Hat diemap(lambda x: (x,))
umwandeln, nur die RDD-Objekt in eine Liste von Zeilen?Es ist Inferenz-mapping für
tuples
(->struct
), es ist nicht für Skalare.InformationsquelleAutor zero323