[ https://issues.apache.org/jira/browse/SPARK-7507?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14542175#comment-14542175 ]
Nicholas Chammas commented on SPARK-7507: ----------------------------------------- cc [~davies] On a related note to our [discussion on the dev list|http://apache-spark-developers-list.1001551.n3.nabble.com/PySpark-DataFrame-When-a-Row-is-not-a-Row-td12210.html], maybe {{StructType}} can just be an implementation of {{dict}} and {{Row}} an implementation of {{namedtuple}}, but I wouldn't know. > pyspark.sql.types.StructType and Row should implement __iter__() > ---------------------------------------------------------------- > > Key: SPARK-7507 > URL: https://issues.apache.org/jira/browse/SPARK-7507 > Project: Spark > Issue Type: Sub-task > Components: PySpark, SQL > Reporter: Nicholas Chammas > Priority: Minor > > {{StructType}} looks an awful lot like a Python dictionary. > However, it doesn't implement {{\_\_iter\_\_()}}, so doing a quick conversion > like this doesn't work: > {code} > >>> 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 > {code} > 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)}}. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org