Создать DataFrame из списка кортежей, используя pyspark

Я работаю с данными, извлеченными из SFDC, используя пакет simple-salesforce. Я использую Python3 для сценариев и Spark 1.5.2.

Я создал rdd, содержащий следующие данные:

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

Эти данные в RDD называются v_rdd

Моя схема выглядит так:

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

Я пытаюсь создать DataFrame из этого RDD:

sqlDataFrame = sqlContext.createDataFrame(v_rdd, schema)

Я печатаю свой DataFrame:

sqlDataFrame.printSchema()

И получите следующее:

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

Я ожидаю увидеть реальные данные, например:

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

Не могли бы вы помочь мне определить, что я делаю здесь неправильно?

Мой Python-скрипт длинный, я не уверен, что людям будет удобно просеивать его, поэтому я разместил только те части, с которыми у меня возникли проблемы.

Заранее благодарим за тонну!

Ответы на вопрос(1)

Ваш ответ на вопрос