Tag: 大数据

如何分析~13GB的数据?

我有大约300个文本文件,其中包含跟踪器,种子和同伴的数据。 每个文件的组织方式如下: tracker.txt time torrent time peer time peer … time torrent … 我有每个跟踪器的几个文件,并且重复了大部分信息(相同的信息,不同的时间)。 我希望能够分析我所拥有的内容并报告类似的事情 每个跟踪器有多少种子 有多少跟踪器是列出的种子 种子有多少同伴 对同龄人有多少种洪流 数据的庞大数量使我难以接受。 这是我尝试过的。 MySQL的 我把所有东西都放进了数据库; 每个实体类型一个表和用于保存关系的表(例如,此torrent在此跟踪器上)。 将信息添加到数据库的速度很慢(当我尝试这个时,我没有13GB的信息),但之后分析关系是不行的。 每个稍微复杂的查询都需要24小时才能完成(如果有的话)。 示例查询将是: SELECT COUNT(DISTINCT torrent) FROM TorrentAtPeer, Peer WHERE TorrentAtPeer.peer = Peer.id GROUP BY Peer.ip; 我尝试在my.cnf文件中增加内存分配,但似乎没有帮助。 我使用了my-innodb-heavy-4G.cnf设置文件。 编辑:添加表格详细信息 这是我使用的: Peer Torrent Tracker ———– ———————– —————— id (bigint) id (bigint) id […]

在Java中有效地读取zip文件

我正在开发一个可以处理大量数据的项目。 我有很多(数千个)zip文件,每个文件包含一个简单的txt文件,包含数千行(大约80k行)。 我目前正在做的是以下内容: for(File zipFile: dir.listFiles()){ ZipFile zf = new ZipFile(zipFile); ZipEntry ze = (ZipEntry) zf.entries().nextElement(); BufferedReader in = new BufferedReader(new InputStreamReader(zf.getInputStream(ze))); … 通过这种方式,我可以逐行读取文件,但它的定义太慢了。 鉴于需要读取大量文件和行,我需要以更有效的方式阅读它们。 我找了一个不同的方法,但我找不到任何东西。 我认为我应该使用的是用于密集I / O操作的java nio API,但我不知道如何将它们与zip文件一起使用。 真的很感激任何帮助。 谢谢, 马尔科

Java中大型数据集的基于文件的合并排序

给定不适合内存的大型数据集,是否有任何库或api在Java中执行排序? 实现可能类似于linux实用程序排序。