Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.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 在SparkSQL中对数据集使用limit后应用筛选器时出现奇怪的结果_Apache Spark_Apache Spark Sql - Fatal编程技术网

Apache spark 在SparkSQL中对数据集使用limit后应用筛选器时出现奇怪的结果

Apache spark 在SparkSQL中对数据集使用limit后应用筛选器时出现奇怪的结果,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,我正在使用spark 2.2.1,但我的问题似乎也发生在2.4中。我试图使用limit函数,其定义如下所述 这里有一个玩具的例子,再现了我的问题 scala>spark.range(10).limit(5).show() +---+ |身份证| +---+ | 0| | 1| | 2| | 3| | 4| +---+ scala>spark.range(10).limit(5).其中('id>3).show() +---+ |身份证| +---+ | 5| | 6| +---+

我正在使用spark 2.2.1,但我的问题似乎也发生在2.4中。我试图使用
limit
函数,其定义如下所述

这里有一个玩具的例子,再现了我的问题

scala>spark.range(10).limit(5).show()
+---+
|身份证|
+---+
|  0|
|  1|
|  2|
|  3|
|  4|
+---+
scala>spark.range(10).limit(5).其中('id>3).show()
+---+
|身份证|
+---+
|  5|
|  6|
+---+

我希望数据帧只有一行,包含
4
。这是一个bug,是一个特性吗?无论如何,我不明白结果。任何关于解释的提示都将不胜感激。

您的数据集不是天生有序的,因此
limit(5)
可能返回
[0 1 2 3 4]
[1 3 5 7 9]
[2 7 1 3 8]
等。应用
orderBy
子句将得到您期望的结果

scala> spark.range(10).orderBy('id).limit(5).where('id > 3).show()
+---+
| id|
+---+
|  4|
+---+
scala> spark.range(10).orderBy('id).limit(5).where('id > 3).show()
+---+
| id|
+---+
|  4|
+---+