Crie o DataFrame da lista de tuplas usando o pyspark

Estou trabalhando com dados extraídos do SFDC usando o pacote simple-salesforce. Estou usando o Python3 para scripts e o Spark 1.5.2.

Eu criei um rdd contendo os seguintes dados:

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

Esses dados estão no RDD chamado v_rdd

Meu esquema fica assim:

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

Estou tentando criar o DataFrame a partir deste RDD:

sqlDataFrame = sqlContext.createDataFrame(v_rdd, schema)

Imprimo meu DataFrame:

sqlDataFrame.printSchema()

E obtenha o seguinte:

+--------------------+--------------------+--------------------+
|                  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...|

Espero ver dados reais, como este:

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

Você pode me ajudar a identificar o que estou fazendo de errado aqui.

Meu script Python é longo, não tenho certeza se seria conveniente para as pessoas analisá-lo, por isso postei apenas as partes com problemas.

Agradeço uma tonelada de antecedência!

questionAnswers(1)

yourAnswerToTheQuestion