Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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
Scala 关于Spark';s RDD';s take和takeOrdered方法_Scala_Apache Spark - Fatal编程技术网

Scala 关于Spark';s RDD';s take和takeOrdered方法

Scala 关于Spark';s RDD';s take和takeOrdered方法,scala,apache-spark,Scala,Apache Spark,我对Spark的rdd.take(n)和rdd.takeorded(n)的工作原理有点困惑。有人能举例给我解释一下这两种方法吗?谢谢。为了解释排序的工作原理,我们创建了一个0到99之间整数的RDD: val myRdd = sc.parallelize(Seq.range(0, 100)) 我们现在可以执行: myRdd.take(5) 这将提取RDD的前5个元素,我们将获得一个数组[Int],其中包含myRDD的前5个整数:“0 1 2 3 4 5”(没有排序函数,只有前5个位置的前5个元

我对Spark的rdd.take(n)和rdd.takeorded(n)的工作原理有点困惑。有人能举例给我解释一下这两种方法吗?谢谢。

为了解释排序的工作原理,我们创建了一个0到99之间整数的RDD:

val myRdd = sc.parallelize(Seq.range(0, 100))
我们现在可以执行:

myRdd.take(5)
这将提取RDD的前5个元素,我们将获得一个数组[Int],其中包含myRDD的前5个整数:“0 1 2 3 4 5”(没有排序函数,只有前5个位置的前5个元素)

takeOrdered(5)操作的工作方式类似:它将RDD的前5个元素提取为数组[Int],但我们必须有机会指定排序标准:

myRdd.takeOrdered(5)( Ordering[Int].reverse)
将根据指定的顺序提取前5个元素。在我们的例子中,结果将是:“99 98 97 96 95”

如果RDD中有更复杂的数据结构,您可能希望通过以下操作执行自己的排序功能:

myRdd.takeOrdered(5)( Ordering[Int].reverse.on { x => ??? })

它将根据您的自定义排序函数将RDD的前5个元素提取为数组[Int]。

如果您能准确地解释您发现的困惑,会更容易。它是实现本身还是仅仅是一种如何使用它们的方法?或者其他什么?@zero323基本上,就是如何使用这些。这是我同事的代码,我正试图理解他的代码,但作为Scala/Spark的新手,我很难理解。他出去了,现在不能问他。