我有两个表具有相同的结构和非常大的字段数(约1000).我需要执行2次操作1)从第二个表插入所有行到拳头.例:
INSERT INTO [1607348182]
SELECT *
FROM _tmp_1607348182;
Run Code Online (Sandbox Code Playgroud)
2)从第二个表更新第一个表但是为了更新,我找不到适当的sql语法进行更新.
查询如下:
Update [1607348182]
set [1607348182].* = tmp.*
from [1607348182]
inner join _tmp_1607348182 as tmp on tmp.recordid = [1607348182].recordid
Run Code Online (Sandbox Code Playgroud)
要么
Update [1607348182]
from [1607348182]
inner join _tmp_1607348182 as tmp on tmp.recordid = [1607348182].recordid
Run Code Online (Sandbox Code Playgroud)
无效.
我正在提出这个问题,寻找有关如何设计系统的实用建议.
像amazon.com和pandora这样的网站拥有并维护着庞大的数据集来运行他们的核心业务.例如,亚马逊(以及其他所有主要的电子商务网站)都有数以百万计的待售产品,这些产品的图片,价格,规格等等.
忽略来自第三方卖家的数据和用户生成的内容,所有"东西"必须来自某个地方,并由某人维护.它也非常详细和准确.怎么样?他们是如何做到的呢?是否只有一大批数据录入员或他们设计了系统来处理咕噜咕噜的工作?
我的公司情况类似.我们保留了巨大的(数千万条记录)汽车零件目录和他们适合的汽车.我们已经有一段时间了,并且已经提出了许多程序和流程来保持我们的目录不断增长和准确; 但是,似乎要将目录增长到x项目,我们需要将团队扩展到y.
我需要找到一些方法来提高数据团队的效率,希望我可以从其他人的工作中学习.任何建议都表示赞赏,更多的是内容的链接,我可以花一些时间阅读.
我有一个非常普遍的问题,似乎找到的所有可用解决方案都不起作用.
我们有一台LAMP服务器,它正在接收大量流量.使用此服务器,我们执行常规文件提交上载.在小文件上传中,它完美地运行.在大约4-5MB的文件上,此提交上载间歇性失败(有时它可以工作但很多次失败).
我们在PHP上有以下配置:
max_input_time: 600
max_execution_time: 600
max_upload_size: 10M
post_max_size: 10M
Run Code Online (Sandbox Code Playgroud)
Apache设置:
Timeout: 600
Keep-Alive Timeout: 15
Keep-Alive: On
Per Child: 1000
Max Conn: 100
Run Code Online (Sandbox Code Playgroud)
因此,我想知道是否有人可以帮助我.我们在网上找到了问题和解决方案,但在我们的案例中都没有.
非常感谢.任何输入/反馈都非常感谢!
我正在开发一个涉及在大图上运行算法的项目.最大的两个顶点有大约300k和600k顶点(我认为相当稀疏).我希望找到一个可以处理大型图形的Java库,以及尺寸稍小的树,因为我将使用的算法之一涉及将图形分解为树.理想情况下,该库还包括广度优先搜索和Dijkstra或其他最短路径算法.
基于另一个问题,我一直在寻找一些库(JGraphT,JUNG,jdsl,yworks),但我很难找到他们能够真实处理的顶点数.看看他们的文档,我所能找到的只是在JUNG常见问题解答中说它可以轻松处理超过150k顶点的图形,这仍然比我的图形小一点......我希望有人在这里使用过这些库中的一个或多个可以告诉我它是否会处理我需要的图形大小,或者是否有一些其他库会更好.
为了记录,我不需要任何可视化工具; 这完全是关于在数据结构中表示图形和树以及在它们上运行算法.
背景,如果有人真正关心:对于一个课我应该实施研究论文中描述的算法,并尽可能地在论文中运行实验.我将使用的论文和数据集可以在这里找到.我的教授说我可以使用我能找到的任何库,只要我能分辨出算法/数据结构的时间/空间复杂性.
我正在尝试创建一个Python脚本,该脚本将地址作为输入,并且会在多次匹配的情况下吐出其纬度和经度,或纬度和经度,就像Nominatim一样.
因此,可能的输入和输出可能是: -
在上面的6中,纽约被归还,因为找不到地址103 Alkazam, New York, USA,但它至少可以找到New York, USA.
最初我想到构建一个树,表示兄弟姐妹按字母顺序排序的层次结构关系.可能是这样的: -
GLOBAL
|
---------------------------------------------
| | ...
USA
---------------
| | ...
CALIFORNIA NEW YORK
| |
----------- -------------
| |.. | |....
PEARL STREET PEARL STREET
Run Code Online (Sandbox Code Playgroud)
但问题是用户可以提供不完整的地址,如2,4和5. …
python geocoding large-data-volumes large-data openstreetmap
我们正在开发和维护几个系统,这些系统需要以Excel格式将报告导出到最终用户.这些报告是从一个MySQL数据库中收集而来的,通过一些简单的处理,通常会产生大约40000行数据,包含10-15列,我们期望数据量稳步增长.
目前我们正在使用PHPExcel进行Excel生成,但它不再适用于我们.在我们超过5000行之后,内存消耗和加载时间变得无法容忍,无法通过无限增加PHP的内存使用和脚本执行时间的最大限制来解决.数据的处理尽可能精简,整个问题是PHPExcel是一个内存耗尽.CSV生成会更轻,但不幸的是,由于用户的需求,我们需要从我们的服务中导出Excel(和Excel).这是由于格式要求等原因,因此CSV不是一个选项.
有关第三方应用程序/模块/服务/产生大型Excel的任何想法/建议吗?如果它是商业许可证无关紧要,只要它符合我们的需求,就可以集成到现有的PHP应用程序中并完成它的工作.我们的服务通常在linux/php/mysql上运行,我们可以做任何我们需要对服务器做的事情.
谢谢!
我试图保存一个大的numpy数组并重新加载它.使用numpy.save和numpy.load,数组值已损坏/更改.阵列预保存和后加载的形状和数据类型是相同的,但后加载阵列的绝大部分值都归零.该数组为(22915,22915),值为float64,取3.94 gb作为.npy文件,数据条目平均为.1(不是可能合理转换为零的小浮点数).我正在使用numpy 1.5.1.
任何关于为什么会发生腐败的帮助都会受到高度赞赏,因为我很茫然.以下是一些代码,提供上述声明的证据.
In [7]: m
Out[7]:
array([[ 0. , 0.02023, 0.00703, ..., 0.02362, 0.02939, 0.03656],
[ 0.02023, 0. , 0.0135 , ..., 0.04357, 0.04934, 0.05651],
[ 0.00703, 0.0135 , 0. , ..., 0.03037, 0.03614, 0.04331],
...,
[ 0.02362, 0.04357, 0.03037, ..., 0. , 0.01797, 0.02514],
[ 0.02939, 0.04934, 0.03614, ..., 0.01797, 0. , 0.01919],
[ 0.03656, 0.05651, 0.04331, ..., 0.02514, 0.01919, 0. ]])
In [8]: m.shape
Out[8]: (22195, 22195)
In [12]: save('/Users/will/Desktop/m.npy',m)
In [14]: …Run Code Online (Sandbox Code Playgroud) 我在data.table(1.8.8,R 3.0.1)中使用fread试图读取非常大的文件.
问题中的文件有313行和~660万列数字数据行,文件大约为12gb.这是一款带有512GB RAM的Centos 6.4.
当我尝试读入文件时:
g=fread('final.results',header=T,sep=' ')
'header' changed by user from 'auto' to TRUE
Error: protect(): protection stack overflow
Run Code Online (Sandbox Code Playgroud)
我尝试使用--max-ppsize 500000启动R,这是最大值,但是同样的错误.
我也尝试将堆栈大小设置为无限制
ulimit -s unlimited
Run Code Online (Sandbox Code Playgroud)
虚拟内存已设置为无限制.
我对这么大的档案不切实际吗?我错过了一些相当明显的事吗?
在得到2位绅士的帮助后,我设法从数据框+ plyr切换到数据表.
情况和我的问题
在我工作的时候,我注意到当我在我的数据集中添加1个新列时,峰值内存使用量几乎翻了一番,从3.5GB增加到6.8GB(根据Windows任务管理器),:=包含~200K行乘2.5K列.
然后我尝试了25M col的200M行,增加了从6GB到7.6GB,之后下降到7.25GB gc().
特别是关于添加新列,Matt Dowle自己在这里提到:
使用:=运算符,您可以:
Run Code Online (Sandbox Code Playgroud)Add columns by reference Modify subsets of existing columns by reference, and by group by reference Delete columns by reference这些操作都不会复制(可能很大的)data.table,甚至一次也不复制.
问题1:为什么要加入"NAS的一列的DT与2.5K列翻一番如果data.table完全不使用复制的峰值内存?
问题2:当DT为200M x 25时,为什么不会发生加倍?我没有为此包含版画屏幕,但可以随意更改我的代码并尝试.
使用测试代码的内存使用打印屏幕
清洁重启,RStudio和MS Word打开 - 使用103MB

Aft运行DT创建代码但在添加列之前 - 使用3.5GB

添加1列填充NA后,但在使用gc() - 6.8GB之前

运行gc()后 - 使用3.5GB

测试代码
为了调查,我做了以下测试代码,它们非常模仿我的数据集:
library(data.table)
set.seed(1)
# Credit: Dirk Eddelbuettel's answer in
# https://stackoverflow.com/questions/14720983/efficiently-generate-a-random-sample-of-times-and-dates-between-two-dates
RandDate <- function(N, st="2000/01/01", et="2014/12/31") {
st <- …Run Code Online (Sandbox Code Playgroud) 我正在开发一个需要在大型2D栅格数据(10到100 GB)上执行FFT的C++项目.特别是,当为每个列应用FFT时性能非常糟糕,每个列的元素在内存中不是连续的(放置在数据宽度的跨度上).
目前,我正在这样做.由于数据不适合存储器,我将几列(即n列)读入存储器并调整其方向(使文件中的列成为存储器中的一行)并应用FFT与外部库(MKL) .我读取(fread)n像素,移动到下一行(fseek尽可能多width - n),读取n像素,跳转到下一行,依此类推.当使用列块完成操作(FFT)时,我以相同的方式将其写回文件.我写n像素,跳到下一行,依此类推.这种读写文件的方式花费了太多时间,所以我想找到一些方法来提升它.
我已经考虑过事先调换整个文件,但整个过程包括行主要和列主要的FFT操作,并且转置不会受益.
我想听听有关大数据的这种列主要操作的任何经验或想法.任何与FFT或MKL相关的建议也会有所帮助.