摘要: 源码分析 def seq: TraversableOnce[A] 上面两段代码是scala.collection.TraversableOnce特质的foldLeft方法源代码,实现了TraversableOnce trait的seq就是可迭代的集合; 运行过程为:b=0+a,即0+20=20b=2 阅读全文
posted @ 2019-03-30 13:41 大葱拌豆腐 阅读(2476) 评论(0) 推荐(0) 编辑
摘要: 在scala中Map分为可变长(mutable)和不可变长(immutable) 阅读全文
posted @ 2019-03-30 11:57 大葱拌豆腐 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 开发中遇到需求:合并两个Map集合对象(将两个对应Key的值累加) 先说解决方案: 首先: Scala中现有的合并集合操作不能满足这个需求 。 注意合并后的结果a的G02的值其实是被覆盖掉了。。 然后: 说说那个表达式中(a /: b)( ... ) 这部分是什么鬼。这个其实是scala简化的fol 阅读全文
posted @ 2019-03-30 11:52 大葱拌豆腐 阅读(444) 评论(0) 推荐(0) 编辑
摘要: 除了逐行处理数据的udf,还有比较常见的就是聚合多行处理udaf,自定义聚合函数。类比rdd编程就是map和reduce算子的区别。 自定义UDAF,需要extends org.apache.spark.sql.expressions.UserDefinedAggregateFunction,并实现 阅读全文
posted @ 2019-03-30 11:38 大葱拌豆腐 阅读(1393) 评论(0) 推荐(0) 编辑