问题标签 [data-processing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1640 浏览

regex - 任何人都可以建议一个匹配 4 个连续文本行的正则表达式模式吗?

我正在尝试解析一个大型数据文件。在文件中,有 3 行或 4 行数据组,由空行分隔。例如:

我正在寻找一种快速的方法来提取具有 4 行的所有数据组(忽略所有 3 行组)。正则表达式有没有办法在文本文件中查找所有 4 行组?或者任何其他建议的(可能使用 awk 或 sed 的)方法来做到这一点?

0 投票
2 回答
2299 浏览

mysql - 在不使用临时表的情况下选择不同的记录

我有一个第三方表,其中填充了一些杂乱的数据,我需要从中获取最新的不同记录。每年或每次“Person”更改时,都会为该表提供一个新行。该表的工作基于最近的 ActiveDate 是正确的人。我创建了一个模拟表和数据来显示这一点。

还有一些模拟数据:

该表还具有由最终用户实际设置的 ExpireDate 列,并不总是让我感到沮丧。目前我正在使用一个虚拟表将不同的记录拉出来并存储一天。我会使用临时表,但我不是 100% 确定如何在 MySQL 中使用,而且我不喜欢它们。我这样做的方式只是暂时的,希望获得更好的 SQL。

然后必须将数据与许多其他表连接才能获得最终产品。但是我仍然需要处理最初的一组不同的数据。从一开始就加入另一张桌子是行不通的。

所以这就是我如何提取数据、存储它,然后稍后再提取它并将其连接到其他表:

我怎样才能写这个来避免使用临时表(以任何形式)处理重复行的成本?希望我已经说得很清楚了,如果不是,我可以很高兴地补充或澄清。

0 投票
3 回答
189 浏览

database-design - 用于计算 0 年至第 n 年的数据和软件架构

例如,我们的应用程序跟踪农场的动物活动和价格。要获得当前的库存数量,最简单的解决方案是有一个起始编号,然后将所有进出的移动相加,直到我们得到一个当前编号。但这是内存密集型的,并且随着移动数量的逐年增长而变得越来越慢。

我们没有“冻结”一年的奢侈,所以它不能再接受变化,系统必须能够随时处理机芯的变化,然后实时显示更新的数字。

这不仅仅是股票数量;我们必须跟踪大量这样的变量,并为每个时期(日、周、月、年)编写报告,其中包括基于这些变量的汇总计算。

为了计算和报告目的,处理跨越多年的数据流的最常见、首选、“最佳”、最快、优雅的方法是什么?在这种情况下,数据库设计和架构将如何关联(即,只要数据库模式设计良好,使用 ORM 就可以了吗?)。这里的关键要求是最佳性能和实时可用性。

我已经在大型系统中看到过这样的工作被分成时间片,例如周、月、年汇总表。如果有解决这个问题的通用设计模式,我特别感兴趣。

0 投票
1 回答
594 浏览

r - 相关性失败 - Pearson

我想写入有关相关性的数据文件信息,如下所示:

结果对我来说很奇怪 - Pearson 相关性非常高(始终等于 1),但 Kendall 和 Spearman 非常低。我创建了散点图,但看不到线性相关性。

0 投票
3 回答
36951 浏览

nosql - 大规模数据处理 Hbase vs Cassandra

在研究了大规模数据存储解决方案之后,我差一点就来到了 Cassandra。但它普遍认为 Hbase 是大规模数据处理和分析的更好解决方案。

虽然两者都是相同的键/值存储并且两者都是/可以运行(最近是 Cassandra)Hadoop 层,但是当需要对大数据进行处理/分析时,是什么让 Hadoop 成为更好的候选者。

我还在 http://ria101.wordpress.com/2010/02/24/hbase-vs-cassandra-why-we-moved/找到了关于两者的详细信息

但我仍在寻找 Hbase 的具体优势。

虽然我更相信 Cassandra,因为它添加节点和无缝复制的简单性以及无故障点功能。而且它还保留了二级索引功能,所以它是一个很好的加分项。

0 投票
1 回答
2026 浏览

c - (C) 虚拟网络适配器

linux中有没有办法以编程方式创建一个可以监听的虚拟网络适配器,以便每当尝试通过适配器发送数据时,都会调用一个方法?

我正在尝试将所有数据包转发到单个 IP 地址,然后将它们的原始位置包含在数据包中。

像这样的东西:

因此,如果我通过虚拟网络适配器 ping google.com,该方法将像这样调用sendPacket("GooglesIp","Whatever data a ping sends")

0 投票
1 回答
71 浏览

data-processing - 数据操作环境

我正在寻找一些东西*来帮助我处理和解释数据。姓名、地址等数据。

目前,我大量使用 Python 来查找一条信息是否与另一条信息相关,但我注意到我的很多代码可以很容易地用某种查询语言代替。

主要是,我需要一个可以导入任何格式的数据的环境,无论是 xml、html、csv 还是 excel 或数据库文件。我希望软件能够阅读它并告诉我有哪些列等等,这样我就可以只担心编写解释它的代码了。

这听起来是否足够具体,如果是的话,是否有人拥有如此优雅的软件?

*可以是编程语言,IDE,它们的组合。

0 投票
4 回答
8658 浏览

c++ - Lua vs Embedded Lisp 和潜在的其他候选人。用于基于集合的数据处理

当前选择: lua-jit。令人印象深刻的基准测试,我已经习惯了这种语法。编写高性能 ABI 需要仔细考虑我将如何构建我的 C++。

其他感兴趣的问题

  1. Gambit-C 和 Guile 作为可嵌入语言
  2. Lua 性能提示(可以选择使用禁用的收集器运行,并在处理运行结束时调用收集器始终是一个选项)。

背景

我正在开发一个实时大容量(复杂)事件处理系统。我有一个 DSL,它在源头表示事件结构的模式、存储格式、某些特定于域的构造、触发内部事件(以构建和驱动通用处理),以及对总是发生的某些处理步骤进行编码。

DSL 看起来与 SQL 非常相似,事实上我正在使用 berkeley db(通过 sqlite3 接口)来长期存储事件。这里重要的部分是事件的处理是基于集合完成的,比如 SQL。然而,我得出的结论是,我不应该向 DSL 添加通用处理逻辑,而是嵌入 lua 或 lisp 来处理这个问题。

处理核心是围绕 boost::asio 构建的,它是多线程的,rpc 是通过协议缓冲区完成的,事件使用协议缓冲区 IO 库进行编码——即,事件不是使用协议缓冲区对象构造的,它们只是使用相同的编码/解码库。我将创建一个包含行的数据集对象,这与数据库引擎在内存集中的存储方式非常相似。DSL 中的处理步骤将首先得到处理,然后提交给通用处理逻辑。

无论我使用什么可嵌入脚本环境,我的处理核心中的每个线程都可能需要它自己的嵌入式语言环境(如果你正在做多线程工作,lua 至少需要它)。

问题

目前的选择是在 lisp ECL 和 lua 之间。请记住,性能和吞吐量是一项强大的要求,这意味着非常需要最小化内存分配:

  1. 如果你处于我的位置,你会选择哪种语言?

  2. 有没有我应该考虑的替代方案(不要建议没有可嵌入实现的语言)。也许是 Javascript v8?

  3. lisp 是否更适合域?我不认为 lua 和 lisp 在它们提供的方面有什么不同。叫我出来 :D

  4. 我应该考虑其他任何属性(如下面的属性)吗?

  5. 我断言任何形式的嵌入式数据库 IO(请参阅下面的示例 DSL 了解上下文)都会使脚本语言调用相形见绌,而且选择其中任何一种都不会给整体吞吐量增加太多开销。我在正确的轨道上吗?:D

所需属性

  1. 我想将我的数据集映射到一个 lisp 列表或 lua 表上,并且我想最小化冗余数据副本。例如,如果两个表具有相同的形状,则从一个数据集中将一行添加到另一个应尝试使用引用语义。

  2. 我可以保证在进行 lua/lisp 调用时,作为输入传递的数据集不会改变。如果可能,我希望 lua 和 lisp 强制不更改数据集。

  3. 在嵌入式调用结束后,数据集应该被销毁,创建的任何引用都需要替换为副本(我猜)。

DSL 示例

为了您的观看乐趣,我附上了一个 DSL,这样您就可以了解我想要实现的目标。注意:DSL 不显示通用处理。

该项目是博士研究项目的一个组成部分,并且是/将是免费软件。如果您有兴趣与我合作(或贡献)这个项目,请发表评论:D

0 投票
4 回答
1709 浏览

haskell - 将数据处理表示为管道的框架

大多数数据处理可以设想为组件的管道,一个组件的输出馈入另一个组件的输入。一个典型的处理管道是:

作为开始这个讨论的陪衬,让我们考虑这个管道的面向对象的实现,其中每个段都是一个对象。该handler对象包含对readerwriter对象的引用,并具有run如下所示的方法:

示意性地,依赖项是:

现在假设我想在阅读器和处理程序之间插入一个新的管道段:

同样,在这个 OO 实现中,tweaker将是reader对象的包装器,并且tweaker方法可能看起来像(在一些伪命令式代码中):

我发现这不是一个非常可组合的抽象。一些问题是:

  1. tweaker只能在 的左侧使用handler,即我不能使用上面的实现tweaker来形成这个管道:

    读者 | 处理程序 | 调整器 | 作家

  2. 我想利用管道的关联属性,以便该管道:

    读者 | 处理程序 | 作家

可以表示为:

p管道在哪里handler | writer。在这个 OO 实现中,我必须部分实例化handler对象

  1. 有点重述(1),对象必须知道它们是“推”还是“拉”数据。

我正在寻找一个框架(不一定是 OO)来创建解决这些问题的数据处理管道。

我用Haskell和标记了它,functional programming因为我觉得函数式编程概念在这里可能有用。

作为一个目标,能够创建这样的管道会很好:

从某种角度来看,Unix shell 管道通过以下实现决策解决了很多这些问题:

  1. 管道组件在不同的进程中异步运行

  2. 管道对象在“推动者”和“拉动者”之间调解传递数据;即,它们阻止写入数据过快的写入器和尝试读取过快的读取器。

  3. 您使用特殊的连接器<并将>无源组件(即文件)连接到管道

我对在代理之间不使用线程或消息传递的方法特别感兴趣。也许这是最好的方法,但如果可能的话,我想避免线程。

谢谢!

0 投票
2 回答
112 浏览

php - 在 PHP 中处理内存中的数据

我正在编写一个 PHP 框架,可用于可视化大量数据。我无法将所有数据提取到内存中并对其进行处理(如排序、过滤等)。所以我有一个 sql 查询生成器,它构造 sql 查询并将所有处理部分推送到 sql server。有没有办法用 PHP 做到这一点?或者是否有某种可用的 C 库以二进制形式存储数据并减少处理时的内存使用量?