Create DataFrame von der Liste der Tupel mit pyspark

Ich arbeite mit Daten, die mit dem Simple-Salesforce-Paket aus SFDC extrahiert wurden. Ich verwende Python3 für Skripte und Spark 1.5.2.

Ich habe einen Rdd erstellt, der die folgenden Daten enthält:

[('Id', 'a0w1a0000003xB1A'), ('PackSize', 1.0), ('Name', 'A')]
[('Id', 'a0w1a0000003xAAI'), ('PackSize', 1.0), ('Name', 'B')]
[('Id', 'a0w1a00000xB3AAI'), ('PackSize', 30.0), ('Name', 'C')]
...

Diese Daten befinden sich in RDD mit dem Namen v_rdd

Mein Schema sieht so aus:

StructType(List(StructField(Id,StringType,true),StructField(PackSize,StringType,true),StructField(Name,StringType,true)))

Ich versuche, DataFrame aus dieser RDD zu erstellen:

sqlDataFrame = sqlContext.createDataFrame(v_rdd, schema)

Ich drucke meinen DataFrame:

sqlDataFrame.printSchema()

Und bekomme folgendes:

+--------------------+--------------------+--------------------+
|                  Id|  PackSize|                          Name|
+--------------------+--------------------+--------------------+
|[Ljava.lang.Objec...|[Ljava.lang.Objec...|[Ljava.lang.Objec...|
|[Ljava.lang.Objec...|[Ljava.lang.Objec...|[Ljava.lang.Objec...|
|[Ljava.lang.Objec...|[Ljava.lang.Objec...|[Ljava.lang.Objec...|

Ich erwarte, dass aktuelle Daten wie folgt angezeigt werden:

+------------------+------------------+--------------------+
|                Id|PackSize|                          Name|
+------------------+------------------+--------------------+
|a0w1a0000003xB1A  |               1.0|       A            |
|a0w1a0000003xAAI  |               1.0|       B            |
|a0w1a00000xB3AAI  |              30.0|       C            |

annst du mir bitte helfen, herauszufinden, was ich hier falsch mach

Mein Python-Skript ist lang. Ich bin mir nicht sicher, ob es für die Leute praktisch ist, es zu sichten. Deshalb habe ich nur Teile gepostet, mit denen ich Probleme habe.

Vielen Dank im Voraus!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage