Bob*_*eld -1 scala apache-spark
Scala语法一直让我疯狂.下面是Spark驱动程序中的一行Scala.除了最后,我得到了大部分内容.
val ratings = lines.map(x => x.toString().split("\t")(2))
Run Code Online (Sandbox Code Playgroud)
(2)只是漂浮在那里没有意义.我从理智上理解它是RDD中的第三个项目,但是为什么没有一个点或某些东西将它连接到声明的其余部分?
这是Scala用于访问Array元素的语法.
x.toString().split("\t")
Run Code Online (Sandbox Code Playgroud)
以上返回Array.添加(2)返回该数组中的第三个元素.这是用于调用.apply(2)数组的语法糖,它为您提供所提供索引的元素.
一个例子:
val numbers = Array("beaver", "aardvark", "warthog")
numbers(0) // "beaver"; same as numbers.apply(0)
numbers(1) // "aardvark"
numbers(2) // "warthog"
Run Code Online (Sandbox Code Playgroud)