标签: large-data-volumes

用于大规模刮削/解析的技术是什么?

我们正在设计一个大规模的网络抓取/解析项目.基本上,脚本需要浏览网页列表,提取特定标记的内容,并将其存储在数据库中.你会建议用什么语言大规模(数千万页?)..

我们正在将MongoDB用于数据库,因此任何具有可靠MongoDB驱动程序的东西都是优先考虑的.

到目前为止,我们一直在使用(不要笑)PHP,curl和Simple HTML DOM Parser,但我不认为它可以扩展到数百万个页面,特别是因为PHP没有适当的多线程.

我们需要一些易于开发的东西,可以在Linux服务器上运行,具有强大的HTML/DOM解析器以轻松提取该标签,并且可以在合理的时间内轻松下载数百万个网页.我们并不是真的在寻找网络抓取工具,因为我们不需要关注链接并索引所有内容,我们只需要从列表中的每个页面中提取一个标记.

parsing screen-scraping large-data-volumes

8
推荐指数
2
解决办法
2025
查看次数

我应该使用哪种数据结构进行地理编码?

我正在尝试创建一个Python脚本,该脚本将地址作为输入,并且会在多次匹配的情况下吐出其纬度和经度,或纬度和经度,就像Nominatim一样.

因此,可能的输入和输出可能是: -

  1. 在:纽约,美国=>出:纽约(纬度:x1 lon:y1)
  2. 在:纽约=>出:纽约(纬度:x1 lon:y1)
  3. 在:珍珠街,纽约,美国=>出:珍珠街(纬度:x2 lon:y2)
  4. 在:珍珠街,USA =>输出:珍珠街(纬度:X2经度:Y2),珍珠街(纬度:X3经度:Y3)
  5. 在: Pearl Street => Out: Pearl Street(纬度:x2 lon:y2),Pearl Street(纬度:x3 lon:y3)
  6. 在: 103 Alkazam,纽约,美国=>出:纽约(纬度:x1 lon:y1)

在上面的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

8
推荐指数
1
解决办法
1099
查看次数

如何在所有缩放级别实时准确地绘制大数据向量?

我有大型数据集(10 Hz数据,每24小时864k点),我需要实时绘制.这个想法是用户可以缩放和平移到非常详细的散点图.

数据不是很连续,而且有峰值.由于数据集太大,每次绘图刷新时都无法绘制每个点.

但我也不能只是绘制每一个点,否则我会错过大而短的尖峰等主要特征.

Matlab做得对.你可以给它一个864k向量的零,只需将任意一个点设置为1,它就可以用缩放和平移实时绘制.

Matlab如何做到这一点?

我的目标系统是Java,所以我将在Swing/Java2D中生成该图的视图.

java matlab plot zoom large-data-volumes

7
推荐指数
1
解决办法
4207
查看次数

寻找一个易于使用的C++嵌入式键值存储

我需要编写一个C++应用程序来读取和写入大量数据(超过可用的RAM),但总是按顺序方式.

为了使数据保持未来的证明和易于记录的方式,我使用Protocol Buffer.然而,协议缓冲区不处理大量数据.

我以前的解决方案包括为每个数据单元创建一个文件(并将它们全部存储在一个目录中),但这似乎不是特别可扩展.

这次我想尝试使用嵌入式数据库.为了具有类似的功能,我只需要存储key-> values关联(因此sqlite似乎有点矫枉过正).值将是Protocol Buffer的二进制序列化输出.

我希望数据库能够管理"内存中的内容,移动到磁盘上的内容"问题,"如何有效地在磁盘上存储大量数据"问题,理想情况下,优化我的顺序读取模式(通过阅读事前的下一个条目).

寻找替代品我对缺乏替代品感到惊讶.我不想将数据库保留在一个单独的进程中,因为我不需要这种分离(这排除了redis).

我发现的唯一选择是Berkeley DB,但它有一个令人不快的低级别C api.然后,我找到的最佳选择是在Berkeley DB之上的stldb4.API似乎非常好,符合我的需求.

不过我很担心.stldb4似乎很奇怪(它依赖于libferris的东西),非维护的解决方案(一年前的最后一个版本),对于我会遇到的问题很常见.

你们中有谁对如何管理这个问题有更好的建议吗?

谢谢你的回答.

c++ large-data-volumes protocol-buffers key-value-store

7
推荐指数
1
解决办法
2166
查看次数

巨大下拉列表的替代品(24,000件以上)

在我的管理部分,当我编辑项目时,我必须将每个项目附加到父项目.我有一个超过24,000个父项的列表,它们按字母顺序列在下拉列表中(音乐艺术家列表).

在下拉菜单中列出所有这些项目的编辑页面是2MB,对于拥有旧计算机的人来说,它就像疯了一样,特别是在Internet Explorer中.

什么是复制相同功能的好选择,我需要选择这24,000位艺术家中的一位,而不是将它们全部预先加载到下拉菜单中.

large-data-volumes drop-down-menu

7
推荐指数
1
解决办法
5456
查看次数

jQuery网格建议大数据集?

我正在寻找jQuery网格建议,并遇到了这个问题/答案:https: //stackoverflow.com/questions/159025/jquery-grid-recommendations

通过查看许多jQuery网格解决方案,似乎他们都希望在客户端上拥有整个数据集.如果我有一个大型数据集(数千/数百万条记录),这些类型的解决方案显然不能很好地扩展(或根本不工作)

我的问题:那里有jQuery网格解决方案,使用Ajax一次只选择一个页面吗?我期望在服务器端使用从客户端通过ajax传入的参数来处理分页,排序等.

提前致谢,

--ed

更新:我使用FlexiGrid取得了巨大成功 - 应用程序的其余部分是ASP.NET MVC2.唯一的问题是你需要修改ASP.NET MVC附带的Site.css,因为它为所有表格,td和th标签(填充)指定了一个混淆了flexigrid L&F的样式.

更新2:在fishysplash上​​,如果您计划使用不同数据表的多个网格,则可以很好地实现动态生成必要的JavaScript代码. http://fishysplash.com/adding-grids-using-flexigrid

css grid jquery large-data-volumes asp.net-mvc-2

7
推荐指数
1
解决办法
3552
查看次数

大型稀疏矩阵奇异值分解的Java实现

我只是想知道是否有人知道大型稀疏矩阵的奇异值分解(SVD)的java实现?我需要这个实现潜在语义分析(LSA).

我尝试了来自UJMP和JAMA的软件包,但当行数> = 1000且col> = 500时,它们会窒息.如果有人能指出我的伪代码或其他东西,那将非常感激.

java large-data-volumes text-mining large-data

7
推荐指数
1
解决办法
2618
查看次数

如何限制mysqldump使用的带宽

我必须通过没有那么多带宽的网络管道转储大型数据库,而其他人需要同时使用.如果我尝试它,它会吸收所有带宽和延迟,并且其他所有人都会搞砸.

我知道mysqldump的--compress标志有点帮助.

如何在不通过此连接吸收所有带宽的情况下执行此操作?

更新:

使用带有-l标志的scp复制转储文件的建议是一个很好的建议,但我应该注意,我没有对数据库服务器的SSH访问权限.

mysql linux networking large-data-volumes

6
推荐指数
1
解决办法
4868
查看次数

快速处理apache日志

我目前正在运行一个awk脚本来处理一个大的(8.1GB)访问日志文件,它需要永远完成.在20分钟内,它写了14MB的(1000 + - 500)MB我期望它写的,我想知道我是否能以某种方式更快地处理它.

这是awk脚本:

#!/bin/bash

awk '{t=$4" "$5; gsub("[\[\]\/]"," ",t); sub(":"," ",t);printf("%s,",$1);system("date -d \""t"\" +%s");}' $1

编辑:

对于非awkers,脚本读取每一行,获取日期信息,将其修改为实用程序date识别的格式,并将其调用以将日期表示为自1970年以来的秒数,最后将其作为.csv文件的行返回,以及知识产权.

输入示例: 189.5.56.113 - - [22/Jan/2010:05:54:55 +0100]"GET(...)"

退货产出: 189.5.56.113,124237889

apache awk large-data-volumes

6
推荐指数
1
解决办法
7123
查看次数

如何快速从数据库加载1百万条记录?

现在我们有一个1.000.000的firebird数据库,必须在将所有内容加载到RAM内存后处理.要获得所有这些,我们必须使用(选择*前1000 ...)提取数据8小时.这是什么解决方案?

sql optimization large-data-volumes

6
推荐指数
1
解决办法
2944
查看次数