scala通过反射实现Map与case class(案例类)相互转化 Scala 遇到个需求,需要将Map转换为case class以及将case class转换回Map的场景,之前写java的时候会使用BeanUtil之类的工具类实现,但这些工具类到scala中遇到case class有些水土不服,不能正常使用,无奈之下只能自己写个工具,通过反射实现这两个的转换Map转换为ca
scala实现try-with-resources自动关闭IO Scala java7新增了try-with-resources的功能,在使用需要关闭的流对象时,可以很方便的实现自动关闭IO,但是scala没有这种功能,不过我们可以通过自定义方法的方式实现类似功能。//通过泛型实现,接收AutoCloseable的子类,调用AutoCloseable的close方法def
使用scalikejdbc的进行BatchUpdate(批量插入、更新) Scala 在使用jdbc的时候不免遇到需要批量插入或者更新的场景,对于batch操作,scalikejdbc的官方文档写的不是太清楚,特此写文档进行记录。scalikejdbc的配置方式可以参考这篇文章:设置HikariCP作为scalikejdbc连接池或者参考官方文档
设置HikariCP作为scalikejdbc连接池 Scala scala version: 2.12.7近日使用scala开发flink与spark程序,遇到需要读写数据库的场景,因为手写jdbc太过繁琐,就找到了scalikejdbc的框架,该框架对jdbc进行了封装,支持scala的多种特性,用起来很方便。但是
使用Stream流对List中的Map进行多条件去重 Java 使用Java8的流可以很方便的对List进行多种操作,如分组、去重、过滤等,本文分享如何根据List中Map的多个条件进行去重。首先,创建一个测试用的List:List<Map<String, Object>> list = new ArrayList<>();M
在flink中使用broadcast(广播流)实现配置动态加载 BigData 在flink处理过程中,我们往往需要关联某些维表来对当前数据进行染色,一般会采用通过jdbc关联查询或redis查询等方法,但效率一般都很差,以redis来讲,在没有进行优化的情况下一般每秒处理数据很难过万
使用Streaming File Sink写入hdfs时自定义分桶策略 BigData 开发的flink项目使用Streaming File Sink写入hdfs,最近接到了文件需要每五分钟分一个桶的需求,而flink默认的分桶策略无法支持这种需求,无奈之下只好自己写分桶策略。
flink获取keyBy后的key分配的子任务编号 BigData 最近在调试程序过程中遇到了需要针对某个特定key查看日志的需求,因为启动了两百多个TaskManager,而且没有权限访问yarn的日志,如果在web-ui上挨个去找怕是要找到猴年马月,所以我就翻了下flink的源码,找到了计算某个key分配至子任务编号的方法