设置IDEA的auto import 之后,编写Spark应用程序时的一些自动导入情况及其说明。
- 第一种情况
普通类的自动导入
如代码:
var cnames = new ArrayBuffer[String]()
var ips = new ArrayBuffer[String]()
此时自动导入设置会提示:
- 第二种情况
针对需导入隐式转换的情况
如:
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在知道明确的类型后,才能给出导入提示。