问题标签 [large-data]

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 回答
2264 浏览

python - numpy.memmap 用于字符串数组?

是否可以将numpy.memmap基于磁盘的大型字符串数组映射到内存中?

我知道它可以用于浮点数等,但这个问题专门针对字符串。

我对固定长度和可变长度字符串的解决方案感兴趣。

该解决方案可以自由指定任何合理的文件格式。

0 投票
2 回答
162 浏览

mysql - 大记录表插入问题 Mysql

我是一名开发人员,在管理具有大量记录的表时遇到问题。

我正在执行一个 cron 作业来填充具有 5-6 列和大约 4,00,000 到 5,00,000 行的主表(表 A)中的数据,然后创建另一个表,并且该表中的数据将随着时间的推移而继续增加.

表 A 包含原始数据,我的输出表是表 B

我的 cron 脚本截断表 B 中的数据,然后使用选择查询插入数据

以上选择查询产生大约 1,50,000 到 2,00,000 行

现在填充表 B 需要花费太多时间,同时如果我的应用程序尝试访问表 B 则选择查询失败

解释查询结果如下:

有人可以帮我改进这个过程,或者指导我上述过程的替代方案吗?

谢谢

苏克图

0 投票
2 回答
1182 浏览

python - numpy:布尔索引和内存使用

考虑以下numpy代码:

这里:

  • A并且B是具有相同列数的二维数组;
  • start并且end是标量;
  • mask是一维布尔数组;
  • (end - start) == sum(mask).

原则上,上述操作可以使用O(1)临时存储进行,通过将元素B直接复制到A.

这是在实践中实际发生的情况,还是numpy为 构造了一个临时数组B[mask]?如果是后者,有没有办法通过重写语句来避免这种情况?

0 投票
1 回答
474 浏览

python - 清除 numpy.memmap

给定一个使用(即只读)numpy.memmap创建的对象,有没有办法强制它从物理 RAM 中清除所有加载的页面,而不删除对象本身?mode='r'

换句话说,我希望对memmap实例的引用保持有效,但用于缓存磁盘数据的所有物理内存都未提交。memmap对数组的任何视图也必须保持有效。

我希望将其用作诊断工具,以帮助将脚本的“真实”内存需求与使用memmap.

我在 RedHat 上使用 Python 2.7。

0 投票
1 回答
119 浏览

ios - 有没有更简单的方法来处理 ios 应用程序中的许多数据变化?

我有一个正在开发的应用程序,它有许多相互依赖的数据。基本上,我有一组数字字段,用于计算其他数字字段,然后用于计算其他字段。我正在尝试确定处理潜在大量更改的最佳方法。

我想到的一种解决方案是,我可以覆盖用户可以修改的值的设置器以进行计算,然后适当地更新数据对象中的其他值。最大的缺点是需要编写大量的(有点样板的)代码。

我想到的另一个解决方案是使用 Key-Value Observing 来处理数据更改,然后根据这些更改更新依赖值。请注意,除非独立值更新,否则任何依赖值都不会更新。虽然我认为这会更优雅一些,但我担心潜在的性能问题,或者我可能没有考虑的问题。

我错过了第三种方式吗?此类工作是否有任何最佳实践?我知道我可能不得不编写一堆某种样板代码——我希望代码最容易维护,并且代码量尽可能少。

0 投票
4 回答
1220 浏览

delphi - 对 Delphi 6 的巨大文件支持?(更换系统模块?)

我在与巨大的固定长度记录数据文件交互时遇到问题。该文件的大小超过 14 GB。当我看到System.Filesize()函数的返回值远小于大文件中的实际记录数时,我首先注意到一个问题,考虑到文件中的字节数和每条记录的长度。(给定调用期间指定的记录大小,System.Filesize 返回无类型文件中的记录数Reset()。它不返回文件中的字节数)。System.Filesize()我将其归结为 Longint 而不是 Int64的返回类型。

GetFileSizeEx()我通过自己调用和计算记录数来解决最初的问题。不幸的是,BlockRead()尝试访问文件中偏移量在文件深处的记录时也会失败。我猜想再次有正在使用的值在代码中的某处溢出。

那里是否有可以处理大型文件的 Delphi 6 替代模块,并且可以替代系统单元文件 I/O 调用?如果可以的话,我会尽量避免自己动手。

0 投票
0 回答
1113 浏览

c# - EWS GetItem 请求 + IncludeMimeContent + 大量邮件 = OutOfMemoryException

我在一个 200 MB 大的 Exchange 2007 邮箱中有一封电子邮件。不要问我它是怎么变得这么大的;我不知道。但它在邮箱中,需要以 MIME 格式发送出去。为了使其更具挑战性,它需要使用 C# 中的 EWS 以 MIME 格式输出。

从理论上讲,这是小菜一碟,对吧?我要做的就是:

...然后将其发送出去:

但是对于一个 200 MB 的邮件,现实生活很快就会让你头晕目眩。我的程序在用完 2GB 内存后发生 System.OutOfMemoryException 爆炸。堆栈跟踪指向我:

果然,我的 200 MB 邮件,作为 BASE64 编码的 XML,正在被读入 RAM。而且我猜想将污垢擦到伤口上,它可能通过各种自动生成的方法多次存储在 RAM 中,这些方法在整个调用堆栈中都会弄乱它。

烦人的事情是,在我从方法中得到我的 BASE64 编码的 MIME 消息后(对于较小的消息可以正常工作),我要做的第一件事就是将它写入磁盘并释放保存它的对象以释放内存。我已经有代码使用 FromBase64Transform 在从磁盘读取 BASE64 时对其进行解码。我想阻止这样的恐怖场景。

话虽如此,我能做些什么来避免在 RAM 中处理 XML 响应?理想情况下,我想通过磁盘写入,然后按顺序读取。知道如何在不必完全为 EWS 滚动我自己的 SOAP 客户端的情况下做到这一点吗?

Edit2:以前的编辑也不起作用。重新生成 Web 服务类破坏了它。哦,好吧,回到第一方。

0 投票
0 回答
509 浏览

python - win64 上的 python 3.2.0,带有大负载的 xml-rpc 失败

我有一个 python 对象,其方法目前正在使用标准 xmlrpc.server.SimpleXMLRPCServer (使用 ThreadingMixIn,但这不应该是相关的)通过 XML-RPC 公开。

服务器和客户端一样在 Win64 上运行。一些 RPC 方法将信息表从数据库返回给客户端。我发现即使是适度的数据块也会使操作系统不堪重负,并且出现这种错误:

对 Errno 12 问题的一些研究表明,底层 MS OS 调用存在一些问题,而不是 python 本身: http ://bugs.python.org/issue11395

我不是一个非常有经验的 XML-RPC 开发人员。但是我应该遵循一些标准约定来交付大型有效负载,这会导致更多、更小的写入(而不是更少的、大型写入)?

请记住我问的是缓冲区溢出;我不想争论为什么我使用 XML-RPC 而不是滚动我自己的 RESTful 接口......我必须为这个问题修补我的 WSGI 应用程序 - 发送小的 1k 块而不是更大的块。我不确定如何修补 XML-RPC 应用程序。

- 编辑 -

根据要求,这里是重现问题的代码示例:

和客户端代码:

如果您将服务器中的页面操作得很小,那么代码就可以工作。照原样,抛出异常。

- 编辑 -

似乎在 python 3.2.1rc1 中得到解决。看起来我们必须升级我们的安装....

0 投票
2 回答
255 浏览

mysql - MySQL - 在实时服务器上执行密集查询

我在处理更新和在 MySQL 数据库中插入数百万行时遇到了一些问题。我需要在表 A 中标记 5000 万行,将标记的 5000 万行中的一些数据插入表 B,然后再次更新表 A 中相同的 5000 万行。表 A 中有大约 1.3 亿行,表 B 中有 8000 万行。

这需要在实时服务器上进行,而不会拒绝访问来自网站的其他查询。问题是当这个存储过程运行时,来自网站的其他查询最终被锁定并且 HTTP 请求超时。

以下是 SP 的要点,为了便于说明而进行了一些简化:

0 投票
3 回答
585 浏览

c# - ASPX.NET 应用程序无缘无故内存不足异常

这是交易:当我的网络服务器启动时,它会创建几个带有非常小的对象(如 1-2-3 整数)的冗长(20M 元素)数组。任何单个数组的累积大小不大于 2GB(CLR 的限制,请参阅下面的链接了解详细信息)。w3wp.exe 的内存使用量确实增长了接近 2GB(永远不会超过)。该代码在Any CPU平台模式下编译并在具有 8GB RAM 的 Windows 7 x64 上运行。

到底是什么让它在创建我的列表时抛出 OutOfMemoryException ?如果我通过 IIS 或 VS 托管进程,会有什么不同吗?这似乎没有发生是PROD,但我一直在我的开发机器上遇到这种情况。(现在将尝试重新启动...)

这可能是相关的,但我似乎没有那么大的对象: .Net 中的非常大的集合导致内存不足异常

编辑:在 IIS 或 VS 中运行确实有所不同 - 在 IIS 中启动进程时看不到这种情况。那么这可能是VS调试器的限制吗?