问题标签 [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 投票
2 回答
526 浏览

makefile - 寻找记录良好的 Make 输出

较短的问题:

使目标具有文件作为依赖项;假设一个示例依赖项是文件“D”。我希望 Make 遍历它的依赖关系图,并且对于每个“D”,取决于成功记录在“D's”配方的退出状态(“D.status.log”)的日志文件中;为简单起见,仅包括进程退出状态或字符串“Started”)。如果不自己深入研究 Make 的源代码并修改图形逻辑,这是否可行?(即有人已经将其编写为补丁或其他类似 Make 的实用程序?)

细节:

我热衷于使用 Makefile 来运行数据处理工作流。我并不孤单,因为搜索“makefile 数据”会产生一些志同道合的人:

然而,在实践中,我发现这是一种光荣的颈部疼痛。多步骤流程从不一定完成的程序中生成输出。在数千个输入文件上运行多步骤工作流意味着将一些find ... rm命令拼凑在一起,这感觉像是一种脆弱的数据管理策略。

基本上,我想要一个记录良好的 Make for data 具有这种界面风格:我将在fantasymake下面调用它。

生成文件:

之前的示例目录树:

运行后的目录fantasymake

目前,我可以使用这一点 Bash 获取日志,但我还没有找到一种优雅的方式将这些包装器命令集成到 Makefile 规则中:

(回顾 Makefile 定义中的每个未连接的行是一个单独的 shell:一个 in-Makefile 包装器将在 和 之间有一个续行(反斜杠)some_program ...echo $$?以确保它们都在同一个 shell 中执行。)

回到fantasymake行为,这将是运行后的目录fantasymake clean

假设 running fantasymakeresults2failed 或被终止。(假设我们没有fantasymake clean。) Thenresults2beyond不会生成;在这里,我认为我不能只依赖未修改的 Make:失败的results2.status.log日志,因此不会继续进行下一次调用。results2fantasymake results2beyond

为了完成构建,clean-failed规则可以清除错误的结果。如果你有一个更容易从 Make 中排除的数据库依赖项(或实时连接),你可能需要这个。这是目录在运行后的样子,fantasymake clean-failed而不是fantasymake clean

假设运行后fantasymake clean-failedscript更新。然后运行fantasymake将重新生成results1,并且它的日志并排在results2.

从 Wikipedia(构建自动化软件列表)一目了然,它看起来不像makepp, omake, 或cmake做的伎俩。该页面上的列表(我不再享有链接的声誉)有点长,所以我转向这个已经帮助我多次潜伏的可爱人群。

这是我必须一起破解的扩展,还是已经存在?

0 投票
1 回答
322 浏览

algorithm - 用于合并唯一键的最快 KV 数据结构?

我目前有大约 15 个工作线程在 CPU 绑定循环中处理数据。每次确定结果时,都会获得一个 RW 锁,因此可以将结果存储在一个共享的 KV 结构(哈希表)中,键唯一。

由于花费了大量时间来获取锁,因此我正在探索不同的选项来提高性能。我玩过无锁哈希表(concurrent_unordered_map 和英特尔 TBB 无锁结构),但一直想知道让每个线程将其结果记录在单独的哈希表中,并且一旦所有线程完成,执行某种冲突解决。

冲突解决基本上是针对每个 [K1,V1], [K1,V2], .... [K1,Vn] 应该合并成 [K1,F(V1,V2,...Vn)]。

我很好奇哪种数据结构最适合从其他结构迭代相同键的所有值。我确信必须有比单独迭代每个结构更好的东西。创建一个多图,批量添加单独的结构,然后解决冲突等?

0 投票
3 回答
74 浏览

php - php解析数组并验证数据

我在操作和数组来过滤一些数据时遇到了麻烦。这是数组的一个示例:

我知道我需要使用嵌套的 foreach 循环,但困难的部分是我想解析name它是否为空白,并且我还想清理日期以使其看起来更好。有谁知道我怎么能做到这一点?它几乎是循环数组并复制它们的数组,但修改某些元素。谢谢!

0 投票
1 回答
157 浏览

data-processing - 日志文件变得巨大。解决方案需要在主内存中打开它

我有一个巨大的 Java 应用程序日志文件,无法在主内存中打开。我想将此文件拆分为足以在主内存中打开的等效部分。我怎样才能做到这一点 ?以及如何确保最后一行拆分不在中间而是在行尾?

0 投票
1 回答
316 浏览

hadoop - 使用 Hadoop 的内存 DataGrid 中的横向扩展软件

我一直在阅读有关使用 hadoop 进行实时处理的内容,并偶然发现了这个http://www.scaleoutsoftware.com/hserver/

从文档的内容来看,看起来他们使用 hadoop 工作/从节点实现了一个内存数据网格。我在这里有几个问题

  1. 据我了解,如果我有一个 100 GB 大小的数据,我将至少需要 100 GB 的 ram 跨集群上的所有节点仅用于数据 + 用于任务跟踪器的额外 ram、数据节点守护进程 + 用于 hServer 服务的额外 ram在所有这些节点上运行。我的理解正确吗?

  2. 该软件声称他们可以通过改善 hadoop 中的延迟问题来进行实时数据处理。是因为,它允许我们将数据写入内存网格而不是 HDFS?

我是大数据技术的新手。如果有些问题是幼稚的,请道歉。

0 投票
2 回答
84 浏览

php - 如何在 php 中创建依赖结构?

我有很多状态,我正在为每个状态构建功能。我试图弄清楚如何根据状态恢复更改。更清楚一点:假设您有 5 个状态:START INSTALLED PROC COMPLETE UPLOADED

为了从状态 COMPLETE 变为 UPLOADED,我必须运行 PROC status 和 INSTALLED。我正在尝试构建一个简单的系统,我可以在其中调用一个函数,它会根据它们在数组或其他东西中定义的依赖关系知道要运行哪些函数。

假设:每个状态只能向后恢复。所以如果在上面的例子中,UPLOADED 不能进入 COMPLETE 状态。每个状态都可以恢复为自身(状态已上传并恢复为已上传)。

有人知道我该怎么做吗?当然会有更多的状态,我只是想避免 50 个 if 语句:/

0 投票
1 回答
74 浏览

parallel-processing - 选定记录的数据处理和更新

基本上,所需的工作是数据库上的大量记录,并且可以一直插入更多记录:

选择状态为“NEW”的 <1000> 条记录 -> 处理记录 -> 将记录更新为状态“DONE”。

这听起来像“地图减少”。

我认为上述工作可以并行完成,甚至可以由不同的机器完成,但我担心的是:

当我选择状态为“新”的 <1000> 记录时 - 我怎么知道这些记录都没有被其他工作处理?

当然,不应多次选择和处理相同的记录。性能至关重要。天真的解决方案是在循环中完成上述基本工作。

它似乎与大数据处理/nosql/map reduce 等有关。

谢谢

0 投票
1 回答
630 浏览

sql - PostgreSQL 列到没有明确指定列名/列的行

我想知道是否有任何方法可以在 PostgreSQL 中对数据进行逆透视(将列转换为行)。

例如,如果我有一个像这样的表:

我想得到像这样的输出

我知道我可以这样做(sql fiddle with data to try it):

但是有什么方法可以在不明确指定列名的情况下对表中的所有列执行此操作?例如,对于 SQL Server,我知道至少有两种方法可以做到这一点 - 动态 SQL 或将数据转换为 xml 并解析 xml - SQL Server: Columns to Rows。PostgreSQL中可能也有一些xml技巧吗?

0 投票
1 回答
3363 浏览

twitter - 归档 Twitter Hashtag 搜索的全部结果

是否有一种数据处理工具可以在https://search.twitter.com中多次下载 Hashtag 搜索的结果,或者只允许下载特定主题标签的整个推文(数据抓取器)?'The Archivist Desktop' 是我创建的唯一一个,它允许将整个结果导出到CSVFormat 并且它是付费的。有免费的替代品吗?

0 投票
3 回答
135 浏览

ruby - 如何以增量顺序将后缀添加到Ruby中的打印字符串?

对于微阵列数据处理,我需要列出从 1 到 654 的基因名称,例如Gene_1 ... Gene_654.

我的简单 Ruby 代码生成以下内容:

结果是:

如何按顺序增量顺序将“后缀 _#”添加到打印的字符串并将它们放在一列中,例如: