Apache spark DataFrame sql-Spark scala order by未给出正确的顺序
我有一个简单的数据集,我试图根据“firstname”列对元素进行排序。我在scala中使用了orderby和sort,但它提供了一些奇怪的输出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
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行中只显示两个人。