- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
大多数数据处理可以设想为组件的管道,一个组件的输出馈入另一个组件的输入。一个典型的处理管道是:
reader | handler | writer
handler
对象包含对
reader
的引用和
writer
对象并具有
run
方法如下:
define handler.run:
while (reader.has_next) {
data = reader.next
output = ...some function of data...
writer.put(output)
}
reader <- handler -> writer
reader | tweaker | handler | writer
tweaker
将是
reader
的包装器对象和
tweaker
方法可能看起来像(在一些伪命令式代码中):
define tweaker.has_next:
return reader.has_next
define tweaker.next:
value = reader.next
result = ...some function of value...
return result
tweaker
只能用于 handler
的左侧,即我不能使用 tweaker
的上述实现形成这个管道:reader | p
p
是管道
handler | writer
.在这个 OO 实现中,我必须部分实例化
handler
目的
Haskell
标记了这个和
functional programming
因为我觉得函数式编程概念在这里可能有用。
handler1
/ \
reader | partition writer
\ /
handler2
<
和 >
将无源组件(即文件)连接到管道 最佳答案
是的,arrows几乎可以肯定是你的男人。
我怀疑您对 Haskell 相当陌生,仅基于您在问题中所说的内容。箭头可能看起来相当抽象,特别是如果您正在寻找的是“框架”。我知道我花了一段时间才真正了解箭头发生了什么。
因此,您可能会看着该页面并说“是的,这看起来像我想要的”,然后发现自己对如何开始使用箭头来解决问题感到迷茫。所以这里有一些指导,所以你知道你在看什么。
箭头不会解决你的问题。相反,它们为您提供了一种可以用来表达问题的语言。你可能会发现一些预定义的箭头可以完成这项工作——可能是一些 kleisli 箭头——但最终你会想要实现一个箭头(预定义的只是给你简单的方法来实现它们),它表示您所说的“数据处理器”是什么意思。作为一个几乎微不足道的例子,假设你想通过简单的函数来实现你的数据处理器。你会写:
newtype Proc a b = Proc { unProc :: a -> b }
-- I believe Arrow has recently become a subclass of Category, so assuming that.
instance Category Proc where
id = Proc (\x -> x)
Proc f . Proc g = Proc (\x -> f (g x))
instance Arrow Proc where
arr f = Proc f
first (Proc f) = Proc (\(x,y) -> (f x, y))
(***)
,
(&&&)
,
(>>>)
等,以及箭头符号,如果您正在做复杂的事情,这是相当不错的。因此,正如 Daniel Fischer 在评论中指出的那样,您在问题中描述的管道可以组成为:
reader >>> partition >>> (handler1 *** handler2) >>> writer
newtype Proc' a b = Proc (Source a -> Sink b -> IO ())
关于haskell - 将数据处理表示为管道的框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8142667/
解释 我的应用程序基本上使用带有代表建筑物的多边形叠加层的 map View ,以及注释。为此,它导入了一个名为 Annotation 的自定义类,该类在点击注释时处理弹出详细信息,这意味着它存储建筑
我有一个数据处理问题,我想计算两支球队在不同比赛中的进球数差异。数据如下所示: matchId teamId eventSec 1 2799331 6718 443.55984
如下所示: ? 1
我想知道 cocoa 是否有默认的数据存储方式。如果是,那是什么?我的意思是 Rails 默认使用 sqlite... 此外,我正在寻找有关如何使用它的教程...例如获取数据并将其显示到 ListVi
我正在使用 HTML5 创建在线游戏。我将使用 JSON 字符串通过 Websockets 通信数据,因此典型的字符串将包含被调用的操作以及随之而来的数据: {action: "chat", user
我需要按特定列对一组 csv 行进行分组,并对每个组进行一些处理。 JavaRDD lines = sc.textFile ("somefile
我有一个情况: 基本上有 3 个模块,分别命名为“A”、“B”、“C”。每个模块都涉及多线程。 模块“A”获取高速数据(20ms)并发送。模块“B”的一个线程启动。 模块“B”提取相关数据并执行一些位
我正在处理有关城镇和城镇内区域的 MySQL 数据库中的一些数据。 数据库看起来像这样 ID | NAME 1 | Manchester 2 | Manchester/North 3 | Man
当我注册用户时,我得到一个状态代码 200 和一个 token :“”返回 JSON。如果用户已经存在,那么我会得到状态代码 200 和 html 响应而不是 JSON。我应该如何处理这个问题。提前致
我有一个应用程序,我从网络上下载大量资源,并对每个资源进行一些处理。我不希望这项工作发生在主线程上,但它非常轻量级且优先级较低,因此所有这些工作都可以真正发生在同一个共享工作线程上。这似乎是一件好事,
我目前正在与一家小公司合作,该公司将其所有应用程序数据存储在 AWS Redshift 集群中。我的任务是对该 Redshift 集群中的数据进行一些数据处理和机器学习。 我需要做的第一个任务是根据一
简介 有些 post 的请求参数是 json 格式的,这个前面发送post 请求里面提到过,需要导入 json模块处理。现在企业公司一般常见的接口因为json数据容易处理,所以绝大多数返回数据也是
1.数组的处理: 1.1 数组的创建和初始化: 1.arrary()函数创建数组,默认情况下0元素是数组的第一个元素, count()和sizeof()函数获得数
我正在尝试将 CKEditor 与 AngularJS 结合使用,用于具有数据绑定(bind)的 WYSIWYG 编辑器,一切似乎都运行良好。极端的可配置性对我们的需求匹配有很大帮助。 我们现在面临表
我正在对负样本和正样本进行文本二元分类任务,我想包括以下所有内容: 处理数据..(例如标记化) 特征选择,例如 Chi2 应用随机投影,因为我有一个大型稀疏矩阵(n_samples:974,n_fea
数据与我在 Pandas 系列: data = ["1. stock1 (1991)", "3. stock13 (1993)", "5. stock19 (1999)", "89. stock
1.字符串的定义与显示 定义:通过””,''来标志 显示:echo()和print(),但print()具有返回值值,1,而echo()没有,但echo比print()要快,
1.正则表达式基础知识 含义:由普通字符和(a-z)和一些特殊字符组成的字符串模式 功能:有效性验证。 替换文本。 从一个字符串提取一个子字符串。&n
我想知道是否可以在我的 Cost Explorer 中发现这个成本背后的资源,按使用类型分组我可以看到它是数据处理字节,但我不知道哪个资源会消耗这个数量数据的。知道如何在 CloudWatch 上发现
我有一个 Json 字符串。我想从该 Json 字符串中获取值。 这是我的 json 字符串{“纬度”:“22.5712854”},{“经度”:“88.4266847”} 我只需要使用 TSQL 查询
我是一名优秀的程序员,十分优秀!