如何查看Scala变量的类型?例如,Spark PairRDD。

3

我有这样一行代码:

val data = sc.textFile(filepath).zipWithIndex().map{case (k,v) => (v,k)}

我想创建一个以data作为参数的函数,但是我需要指定它的类型,该如何确定这个类型?我知道在Spark中这是一个Pair RDD,但是我不确定它的具体类型。

2个回答

3

获取推断类型的一种方法是只声明类型,但使用错误的类型,例如:

val x: Int = "foo"

编译器会抱怨 x 是一个 String 而不是 Int,因此您现在知道String是推断类型,例如下面的语句:
val x = "foo"

如果您正在使用集成开发环境(IDE),那么很可能有一个内置功能可以让您查看推断类型。例如,IntelliJ在按下Alt+=Ctrl+q时显示类型。
在IntelliJ中,此功能称为“快速文档”或“类型信息”。转到“设置”->“键盘映射”,查看这两个功能在您的计算机上配置了哪些快捷键。

2

类型是RDD[(Long, String)]。如何检查:

  1. 使用像IntelliJ IDEA这样的IDE,您可以显示类型(我使用鼠标悬停显示类型信息)

enter image description here

  1. 没有IDE:使用API文档:sc.textFile给出RDD[String]zipWithIndex给出RDD[(String, Long)],然后切换元组顺序(键值对)给出RDD[(Long, String)]

编辑:在IntelliJ中禁用此功能,请在设置中勾选此框:

enter image description here


我也使用IntelliJ,你知道在哪里启用这个设置吗?感谢你的回答! - osk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接