You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Irakli Machabeli (JIRA)" <ji...@apache.org> on 2015/12/21 20:53:46 UTC

[jira] [Created] (SPARK-12467) Get rid of sorting in Row's constructor in pyspark

Irakli Machabeli created SPARK-12467:
----------------------------------------

             Summary: Get rid of sorting in Row's constructor in pyspark
                 Key: SPARK-12467
                 URL: https://issues.apache.org/jira/browse/SPARK-12467
             Project: Spark
          Issue Type: Bug
          Components: PySpark, SQL
    Affects Versions: 1.5.2
            Reporter: Irakli Machabeli
            Priority: Minor


Current implementation of Row's __new__ sorts columns by name
First of all there is no obvious reason to sort, second, if one converts dataframe to rdd and than back to dataframe, order of column changes. While this is not  a bug, nevetheless it makes looking at the data really inconvenient.



    def __new__(self, *args, **kwargs):
        if args and kwargs:
            raise ValueError("Can not use both args "
                             "and kwargs to create Row")
        if args:
            # create row class or objects
            return tuple.__new__(self, args)

        elif kwargs:
            # create row objects
            names = sorted(kwargs.keys()) # just get rid of sorting here!!!
            row = tuple.__new__(self, [kwargs[n] for n in names])
            row.__fields__ = names
            return row

        else:
            raise ValueError("No args or kwargs")




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org