如何查看scala变量的类型?例如Spark PairRDD

时间:2017-12-01 08:47:47

标签: scala apache-spark

我有这一行:

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

我想创建一个以data为参数的函数,但是我需要指定它的类型,我该如何确定它是什么类型?我知道它是Spark中的一对RDD,但我不确定它的字面类型。

2 个答案:

答案 0 :(得分:3)

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

val x: Int = "foo"

编译器会抱怨x是String而不是Int,所以现在String是推断类型,其语句如下:

val x = "foo"

如果您使用的是IDE,则很可能会有一个内置功能,允许您查看推断类型。例如,IntelliJ在按 Alt + = Ctrl + q 时显示类型。

在IntelliJ中,此功能称为“快速文档”或“类型信息”。转到设置 - >键盘映射,了解您的计算机上为这两个功能配置了哪些快捷方式。

答案 1 :(得分:2)

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

  1. 使用类似IntelliJ IDEA的IDE,您可以在其中显示类型(我使用鼠标悬停显示类型信息)
  2. enter image description here

    1. 没有IDE:使用API​​文档:s c.textFile给出RDD[String]zipWithIndex为您提供RDD[(String,Long)],然后切换元组 order(键值)给出RDD[(Long, String)]
    2. 编辑:要在IntelliJ中无法使用此功能,请在设置中选中此框:

      enter image description here