地图是什么意思(地图,到处都是flatMap,什么意思?)( 二 )

文章插图
程序员的表现java8中的八种流
Java8从一个新的抽象开始,叫做Stream: stream 。结合lambda语法,可以让代码特别清新干净(如果有木头或者发明,很快就会变成Scala) 。
一个非常好的指南:
https://stackify.com/streams-guide-java-8/
星火的RDD操作
spark的核心数据模型是RDD,它是一个有向无环图 。它表示一个不可变的、可分区的聚合,其元素可以并行计算 。
它是分布式的,但是我们可以看看下一个WordCount的例子 。
JavaRDD<String> textFile = sc.textFile("hdfs://...");JavaPairRDD<String, Integer> counts 资源网= textFile .flatMap(s -> Arrays.asList(s.split(" ")).iterator()) .mapToPair(word -> new Tuple2<>(word, 1)) .reduceByKey((a, b) -> a + b);counts.saveAsTextFile("hdfs://...");多熟悉的一个Api啊,你肯定在Hadoop里见过 。
Flink's DataStream
Flink程序是执行分布式聚合转换(例如过滤、映射、更新状态、加入、分组、定义窗口、聚合)的例程程序 。Flink中的DataStream程序是在数据流上实现的转换 。
让我们也来看看它的一段代码 。
DataStream<Tuple2<String, Integer>> counts =// split up the lines in pairs (2-tuples) containing: (word,1)text.flatMap(new Tokenizer())// group by the tuple field "0" and sum up tuple field "1".keyBy(0).sum(1);卡夫卡流的运作
卡夫卡已经成为分布式流媒体计算平台 。他提取资源,创建了一个类似于斯巴克RDD公司的KStream和KTable,并且有相似的操作 。
KStream可以看作是KTable的更新日志,每个数据流都在对应的数据库中记录每一次更新 。
让我们来看一段代码 。
KTable<String, Long> wordCounts = textLines.flatMapValues(value -> Arrays.asList(value.toLowerCase().split("\\W+"))).groupBy((key, value) -> value).count();wordCounts.toStream().to("streams-wordcount-output", Produced.with(stringSerde, longSerde));RxJava
RxJava是基于inspector模式的异步义务框架,在Android开发中经常用到(越来越被服务器采用) 。
RxJava在语言层面做了一些创新,也有一些忠实的信徒 。
语言层面的Lambda
当然,Haskell这种自然的函数式编程语言也有自己的光环 。然而,其他语言,包括脚本语言和编译语言,也收到了这些经验 。
它们统称为λ 。
计算机编程语言
作为最流行的脚本语言,python也有它的lambda语法 。最基本的功能如映射、约简和过滤也是存在的 。
Java Script语言
Js不能掉,比如Array.prototype.*() 。它拥有它应该拥有的一切 。
结束还有很多,就不一一列举了 。换句话说,这些功能可以申请专利吗?我很喜欢,虽然很少用 。
推荐阅读
- iqoo是什么牌子手机中文怎么读 iqoo是什么牌子手机
- 我的世界的指令是什么 我的世界指令有哪些
- 忽如一夜春风来千树万树梨花开是什么季节 忽如一夜春风来千树万树梨花开是什么意思
- 我rushb了是什么梗 Rush B是什么梗
- 平板电脑跟笔记本电脑有什么区别 平板电脑和笔记本电脑的区别是什么
- 天然气灶不打火原因及维修办法 燃气灶不打火原因及维修办法是什么
- 五行路旁土命是什么意思 路旁土命是什么意思
- 切平面与法线的关系 法线和切线的关系是什么
- 葛根是什么(葛根的功效和作用)
- 眼皮浮肿的原因是什么(3个常识,可以了解更多)
