IDEA的auto import 与 Scala的隐式转换

设置IDEA的auto import 之后,编写Spark应用程序时的一些自动导入情况及其说明。

  1. 第一种情况
    普通类的自动导入
    如代码:
   var cnames = new ArrayBuffer[String]()
   var ips = new ArrayBuffer[String]()

此时自动导入设置会提示:
弹出的提示信息

  1. 第二种情况
    针对需导入隐式转换的情况
    如:
    val joinRDD = reqRDD.join(respRDD).map(x => (x._2._1, x._2._2)).reduceByKey((x, y) => x)
    joinRDD.collect.foreach(println)

如果此时没有导入语句:

import org.apache.spark.SparkContext._

会提示不能识别这几个方法:join、reduceByKey…等
这时候IDEA是不会给出自动导入的提示信息的。

原因简单分析如下:
1. 需要先将隐式转换放入作用域,才会对类型进行转换;
2. IDEA在知道明确的类型后,才能给出导入提示。

你可能感兴趣的:(Spark)