,也不想再维护一套python环境,基于此,开始将技术栈转到scala+spark;
如果你的情况也大致如上,那么这篇文章可以作为一个很实用的参考,快速的将一个之前用pyspark完成的项目转移到scala...来导入对应的变长版本,主要区别在于当集合长度改变时是否需要重新创建一个新的集合对象;
数组
val arr = new Array[Int](8) // 长度为8,全是0的不可变数组
println(arr...,取出其全部偶数,再乘以10返回新数组
// 写法1:也是一般的程序写法,这个过程中其实是将需求转换为程序思想
var marr2 = Array(1,2,3,4,5,6,7,8,9,10)
marr2...,注意scala中函数调用没有参数时可以不写()
println(marr2.sum,marr2.max,marr2.sorted.toBuffer)
从数组上看差异:
首先一个小特点在于直接打印数组对象只能看到内存地址...主要是它涉及很多udf、列表推导式、SQL表达式、特征复杂处理等,需要注意:
对于udf部分,Scala中的入参指定类型这一点花了我不少时间,Python用多了就是惯坏了。。。