IDEA的auto import 与 Scala的隐式转换
2015-03-05 23:08
489 查看
设置IDEA的auto import 之后,编写Spark应用程序时的一些自动导入情况及其说明。
1.普通类的自动导入
2.需要隐式转换
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._
需要手动导入,个人理解:在这里reduceByKey方法在idea中并不能判断出其属于哪个类,所以idea便不能给出提示需要导入哪个类。
需要先将隐式转换放入作用域,才会对类型进行转换。
在spark1.1.0版本中,隐式类型转换的函数定义在SparkContext里面;隐式类型转换如果定义在自己的类中,作用于就是自己,如果定义在其他类里,需要把这个类引入,否则不会自动转换。
而在spark1.3.0中,隐式类型转换的函数被定义在了RDD里面,所以在同样在写程序时,spark1.1.0时可能不会有提示,所以需要手动导入import
org.apache.spark.SparkContext._。而依赖spark1.3.0时,就会有提示,不用手动导入RDD类了。
1.普通类的自动导入
var cnames = new ArrayBuffer[String]() var ips = new ArrayBuffer[String]()直接根据提示alt+enter便可以导入ArrayBuffer类包
2.需要隐式转换
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._
需要手动导入,个人理解:在这里reduceByKey方法在idea中并不能判断出其属于哪个类,所以idea便不能给出提示需要导入哪个类。
需要先将隐式转换放入作用域,才会对类型进行转换。
在spark1.1.0版本中,隐式类型转换的函数定义在SparkContext里面;隐式类型转换如果定义在自己的类中,作用于就是自己,如果定义在其他类里,需要把这个类引入,否则不会自动转换。
而在spark1.3.0中,隐式类型转换的函数被定义在了RDD里面,所以在同样在写程序时,spark1.1.0时可能不会有提示,所以需要手动导入import
org.apache.spark.SparkContext._。而依赖spark1.3.0时,就会有提示,不用手动导入RDD类了。
相关文章推荐
- IDEA的auto import 与 Scala的隐式转换
- scala 随笔(4) implicit 隐式转换 和冲突解决
- scala隐式转换implicit
- Scala学习教程笔记三之函数式编程、集合操作、模式匹配、类型参数、隐式转换、Actor、
- scala 中隐式转换 implicit的应用
- scala中的隐式转换详解
- scala进阶20-隐式转换至Ordered与Ordering
- scala 隐式转换
- 深入理解Scala中的隐式转换系统
- scala的隐式转换学习总结(详细)
- Scala 隐式转换案例(四)
- Scala泛型、隐式转换和隐式参数、视图介绍、Scala中的上界、下界、结合柯里化进行隐式转换
- Scala中隐式转换初体验实战详解以及隐式转换在Spark中的应用源码解析之Scala学习笔记-49
- scala隐式转换1
- Scala中隐式参数与隐式转换的联合使用实战详解及其在Spark中的应用源码解析之Scala学习笔记-51
- 记录: 一次解决整型溢出攻击(使用scala,隐式转换)
- Scala中隐式转换内幕操作规则揭秘、最佳实践及其在Spark中的应用源码解析之Scala学习笔记-55
- 第66讲scala 中伴生对象的隐式转换
- scala隐式转换 及并发
- 深入理解Scala的隐式转换系统