专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

mysql查询排除,为什么程序员工作后就喜欢用stream流_数据库

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/5 14:41:01       共计:3581 浏览
mysql查询排除,为什么程序员工作后就喜欢用stream流?

阁下说的应该是集合类的流式处理,而不是文件流吧!

1.流式处理从思维的角度来说那就是通畅,可以不需要思维阻塞地一直写才去,有一种看爽文的感觉,如果没有流式处理,那么就需要不停地打断思路遍历集合进行处理,代码是又丑又很难看懂!

2.最喜欢流式处理的应该是数据开发类的程序员,很多数据的处理工作很复杂,分步骤,需要不同的处理逻辑,适用流式处理就可以把每一个步骤当成流的一个操作节点处理,方便!

举例:

1.如果写过mapreduce的都知道,常规写法可能需要写一个循环,超级复杂,如果使用流就可以写成:(sparkstreaming举例:)

# 统计词频

counts = lines.map(lambda x:x.strip())\ #1.去除首位空格 .flatMap(lambda x: x.split(' '))\ #2.根据空格分出每一个词 .filter(lambda x:x not in stop_words) \ #3.过滤掉停用词 .map(lambda x: (x, 1)) \ #4.给每一个词标记1 .reduceByKey(add) #5.统计求和

.sortBy(lambda x:-x[1]) # #排序

通过一个流式的处理就简单完成了

1.java的一个数据处理流程举例

List<Entity> entityList = xxxx;

MapFrame<Object,Double> groups = ListFrame.fromList(entityList )

.handle("value=format(value,2)") //1.列表实体的value保留两位小数

.handle(entity->entity.getName()==null,"name=''") //2.name为空变为""

.handle(entity->entity.getValue()==null,"value=0","value=value+2") //3.value不为空+2

.handle("name=replace(name,'#','')") //4.替换#

.handle("percent=double(value)/"+sum) //5.计算百分比

.groupBy("name").sum("percent"); //6.分组统计

上面的过程在不写for循环的条件下就流式处理完了,仅仅从写那一刻的感觉来说就很通畅

再见

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:mysql json查询,json类型优缺点_数据库 | ·下一条:MySQL什么时候需要关联查询_数据库

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有