若f(x)=sink什么,则f(x)=

拍照搜题秒出答案,一键查看所有搜题记录

拍照搜题秒出答案,一键查看所有搜题记录

拍照搜题秒出答案,一键查看所有搜题记录

}

 在大数据程序流行的今天许多程序都面临着共同的难题:程序输入数据趋于无限大,抵达时间又不确定一般的解决方法是采用回调函数(callback-function)来实现的,但这样的解决方案很容易造成“回调地狱(callback hell)”即所谓的“goto-hell”:程序控制跳来跳去很难跟踪,特别是一些变量如果在回调函数中更改后产生不可预料嘚结果数据流(stream)是一种解决问题的有效编程方式。Stream是一个抽象概念能把程序数据输入过程和其它细节隐蔽起来,通过申明方式把数據处理过程描述出来使整体程序逻辑更容易理解跟踪。当然牺牲的是对一些运算细节的控制能力。我们在前面介绍过scalaz-stream它与akka-stream的主要区別在于:

1、scalaz-stream是pull模式的,而akka-stream是push模式的pull模式的缺点是接收数据效率问题,因为在这种模式里程序必须不断重复检测(polling)输入端口是否有数据存在而push模式则会把数据推到输入端口后直接进入程序,但如果数据源头动作太快程序无法及时处理所有推送的数据时就会造成所谓的数據溢出问题遗失数据。不过akka-stream实现了reactive-stream的back-pressure规范:数据发送方和接收方之间互动提示使过快的数据产生能按接收方要求慢下来甚至暂时停下來。

2、scalaz-sstream和akka-stream的数据流都是一种申明式的数据处理流程描述属于一种运算方案,最终都需要某种运算器来对数据流按运算方案进行具体的运算得出运算结果和产生副作用。scalaz-stream的运算器是自备的函数式程序特点是能很好的控制线程使用和进行并行运算。akka-stream的运算器是materializermaterializer在actor系统上運行,具备了actor模式程序的优点包括:消息驱动、集群运算、监管策略(SupervisorStrategy)等等

akka-stream的数据流是由三类基础组件组合而成,不同的组合方式代表不同的数据处理及表达功能三类组件分别是:

}

听书、听课、听段子 6亿用户的选擇!

发现您正在海外国家或地区建议切换到喜马拉雅海外版

}

我要回帖

更多关于 sink什么 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信