繁体   English   中英

Apache Spark-无法理解Scala示例

[英]Apache Spark - Unable to understand scala example

我正在尝试了解此位置上的Scala代码。 (我来自Java背景)。

https://github.com/apache/spark/blob/master/examples/src/main/scala/org/apache/spark/examples/GroupByTest.scala

我感到在下面的部分完全迷路了

val pairs1 = sc.parallelize(0 until numMappers, numMappers).flatMap { p =>
  val ranGen = new Random
  var arr1 = new Array[(Int, Array[Byte])](numKVPairs)
  for (i <- 0 until numKVPairs) {
    val byteArr = new Array[Byte](valSize)
    ranGen.nextBytes(byteArr)
    arr1(i) = (ranGen.nextInt(Int.MaxValue), byteArr)
  }
  arr1
}.cache()

我知道并行化和平面映射的作用。 我不知道如何对arr1进行初始化。 是int类型还是其他类型的字节数组? 另外,它在循环逻辑内部做了什么。

var arr1 = new Array[(Int, Array[Byte])](numKVPairs)

只需创建一个大小为numKVPairs且类型为(Int, Array[Byte])数组(一对int和字节数组)

之后, arr1会填充随机数据。

var arr1 = new Array[(Int, Array[Byte])](numKVPairs)

创建一个成对的数组类型(Int,Array [Byte])。 那是对的第一个元素是Int类型,第二个元素是Array [Byte]。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM