在pySpark中,Order By和sort之间的差异是什么

时间:2016-07-15 06:11:48

标签: sorting sql-order-by pyspark

这是基本问题,但

两者都用于排序数据,两者都具有相同的功能,如performe asc默认情况下是什么是差异

sort
Order by

1 个答案:

答案 0 :(得分:2)

我认为它们是同义词:

查看this

def sort(self, *cols, **kwargs):
    """Returns a new :class:`DataFrame` sorted by the specified column(s).
    :param cols: list of :class:`Column` or column names to sort by.
    :param ascending: boolean or list of boolean (default True).
        Sort ascending vs. descending. Specify list for multiple sort orders.
        If a list is specified, length of the list must equal length of the `cols`.
    >>> df.sort(df.age.desc()).collect()
    [Row(age=5, name=u'Bob'), Row(age=2, name=u'Alice')]
    >>> df.sort("age", ascending=False).collect()
    [Row(age=5, name=u'Bob'), Row(age=2, name=u'Alice')]
    >>> df.orderBy(df.age.desc()).collect()
    [Row(age=5, name=u'Bob'), Row(age=2, name=u'Alice')]
    >>> from pyspark.sql.functions import *
    >>> df.sort(asc("age")).collect()
    [Row(age=2, name=u'Alice'), Row(age=5, name=u'Bob')]
    >>> df.orderBy(desc("age"), "name").collect()
    [Row(age=5, name=u'Bob'), Row(age=2, name=u'Alice')]
    >>> df.orderBy(["age", "name"], ascending=[0, 1]).collect()
    [Row(age=5, name=u'Bob'), Row(age=2, name=u'Alice')]
    """
    jdf = self._jdf.sort(self._sort_cols(cols, kwargs))
    return DataFrame(jdf, self.sql_ctx)

orderBy = sort