I've filed SPARK-7507 <https://issues.apache.org/jira/browse/SPARK-7507> for
this.

On Fri, May 8, 2015 at 5:57 PM Reynold Xin <r...@databricks.com> wrote:

> Sure.
>
>
> On Fri, May 8, 2015 at 2:43 PM, Nicholas Chammas <
> nicholas.cham...@gmail.com> wrote:
>
>> StructType looks an awful lot like a Python dictionary.
>>
>> However, it doesn’t implement __iter__()
>>
> <https://docs.python.org/3/library/stdtypes.html#iterator-types>, so doing
>
>
>> a quick conversion like this doesn’t work:
>>
>> >>> df = sqlContext.jsonRDD(sc.parallelize(['{"name": "El
>> Magnifico"}']))>>> df.schema
>> StructType(List(StructField(name,StringType,true)))>>> dict(df.schema)
>> Traceback (most recent call last):
>>   File "<stdin>", line 1, in <module>
>> TypeError: 'StructType' object is not iterable
>>
>> This would be super helpful for doing any custom schema manipulations
>> without having to go through the whole .json() -> json.loads() ->
>> manipulate() -> json.dumps() -> .fromJson() charade.
>>
>> Same goes for Row, which offers an asDict()
>>
> <
>> https://spark.apache.org/docs/1.3.1/api/python/pyspark.sql.html#pyspark.sql.Row.asDict
>> >
>
>
>> method but doesn’t support the more Pythonic dict(Row).
>>
>> Does this make sense?
>>
>> Nick
>> ​
>>
>

Reply via email to