Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark DataFrame sql-Spark scala order by未给出正确的顺序_Apache Spark_Dataframe - Fatal编程技术网

Apache spark DataFrame sql-Spark scala order by未给出正确的顺序

Apache spark DataFrame sql-Spark scala order by未给出正确的顺序,apache-spark,dataframe,Apache Spark,Dataframe,我有一个简单的数据集,我试图根据“firstname”列对元素进行排序。我在scala中使用了orderby和sort,但它提供了一些奇怪的输出 scala> val baseData = data.select($"Account.Number".as("AccountNumber"), $"Account.FirstName".as("FirstName"), $"Account.LastName".as("LastName")) baseData: org.ap

我有一个简单的数据集,我试图根据“firstname”列对元素进行排序。我在scala中使用了orderby和sort,但它提供了一些奇怪的输出

    scala> val baseData = data.select($"Account.Number".as("AccountNumber"),
 $"Account.FirstName".as("FirstName"),
 $"Account.LastName".as("LastName"))

    baseData: org.apache.spark.sql.DataFrame = 
             [AccountNumber: string, FirstName: string ... 1 more field]

    scala>  baseData.show(false)
    +-------------+---------+--------+
    |AccountNumber|FirstName|LastName|
    +-------------+---------+--------+
    |123-ABC-789  |Jay      |Smith   |
    |456-DEF-456  |Sally    |Fuller  |
    |333-XYZ-999  |Brad     |Turner  |
    |987-CBA-321  |Justin   |Pihony  |
    |123-ABC-789  |Jay      |Smith   |
    |456-DEF-456  |Sally    |Fuller  |
    |123-ABC-789  |Jay      |Smith   |
    |456-DEF-456  |Sally    |Fuller  |
    |333-XYZ-999  |Brad     |Turner  |
    |333-XYZ-999  |Brad     |Turner  |
    |333-XYZ-999  |Brad     |Turner  |
    |987-CBA-321  |Justin   |Pihony  |
    |123-ABC-789  |Jay      |Smith   |
    |456-DEF-456  |Sally    |Fuller  |
    |333-XYZ-999  |Brad     |Turner  |
    |456-DEF-456  |Sally    |Fuller  |
    |987-CBA-321  |Justin   |Pihony  |
    |456-DEF-456  |Sally    |Fuller  |
    |456-DEF-456  |Sally    |Fuller  |
    |123-ABC-789  |Jay      |Smith   |
    +-------------+---------+--------+
    only showing top 20 rows


    scala> baseData.sort($"FirstName").show(false)
    +-------------+---------+--------+
    |AccountNumber|FirstName|LastName|
    +-------------+---------+--------+
    |333-XYZ-999  |Brad     |Turner  |
    |333-XYZ-999  |Brad     |Turner  |
    |333-XYZ-999  |Brad     |Turner  |
    |333-XYZ-999  |Brad     |Turner  |
    |333-XYZ-999  |Brad     |Turner  |
    |333-XYZ-999  |Brad     |Turner  |
    |333-XYZ-999  |Brad     |Turner  |
    |333-XYZ-999  |Brad     |Turner  |
    |333-XYZ-999  |Brad     |Turner  |
    |333-XYZ-999  |Brad     |Turner  |
    |333-XYZ-999  |Brad     |Turner  |
    |333-XYZ-999  |Brad     |Turner  |
    |123-ABC-789  |Jay      |Smith   |
    |123-ABC-789  |Jay      |Smith   |
    |123-ABC-789  |Jay      |Smith   |
    |123-ABC-789  |Jay      |Smith   |
    |123-ABC-789  |Jay      |Smith   |
    |123-ABC-789  |Jay      |Smith   |
    |123-ABC-789  |Jay      |Smith   |
    |123-ABC-789  |Jay      |Smith   |
    +-------------+---------+--------+
    only showing top 20 rows

我得到一些重复的行。我尝试使用sort和orderby,但两者都会导致重复行。

要消除重复行,请在代码末尾提供
.dropDuplicates
,这将显示不同的记录

baseData.sort($"FirstName").dropDuplicates.show(false)
要动态显示数据帧内的所有元素,请使用重载方法
show
方法,将数据帧计数作为第一个参数传递

baseData.sort($"FirstName").dropDuplicates.show(baseData.count().toInt,false)

要消除重复行,请在代码末尾提供
.dropDuplicates
,这将显示不同的记录

baseData.sort($"FirstName").dropDuplicates.show(false)
要动态显示数据帧内的所有元素,请使用重载方法
show
方法,将数据帧计数作为第一个参数传递

baseData.sort($"FirstName").dropDuplicates.show(baseData.count().toInt,false)

你用名字排序,它是按字母顺序排序的。你有什么问题?如果您想按排序顺序查看所有数据,请使用
show('numorrecordsyouwanttosee')
@RamGhadiyaram。。请参见输出。。它没有正确分类。它只放映布拉德和杰伊。。其他名称不显示数据框中的行数超过20行,且有大量重复行,请注意
部分仅显示前20行。当您对数据进行排序时,所有重新重复的行将彼此相邻,导致前20行中只显示两个人。您使用名字进行排序,它是按字母顺序排序的。你有什么问题?如果您想按排序顺序查看所有数据,请使用
show('numorrecordsyouwanttosee')
@RamGhadiyaram。。请参见输出。。它没有正确分类。它只放映布拉德和杰伊。。其他名称不显示数据框中的行数超过20行,且有大量重复行,请注意
部分仅显示前20行。当您对数据进行排序时,所有重新重复的行将彼此相邻,从而在前20行中只显示两个人。