文件格式如下(假设有两列数据):
1 2
2 4
3 4
1 2
3 5
1 2
…
34343 45454
…
100000 100000
即假如文件中数值最大的为100000(10万)。有100万行数据,每一行代表一个数对(可以理解为一个二元组),每个二元组可能会出现多次,如“1 2”出现3次,那么定义数组A[1][2]=3,假如“1 3”没有出现,那么A[1][3]=0,以此类推。其实相当于构造出一个10万阶的矩阵,矩阵每个元素代表着相应二元组出现的次数。希望将矩阵中每个元素都写入到新的txt文档中。PS:以上是对这个问题的描述,当然这样的矩阵如何表示,能否表示,又是如何得到的是一个关键问题,本人菜鸟,望高手指教!
其实可用的内存不大,不到1G。问题就是上述描述的那样,我也没什么思路,你有没有好的方法详细说下
追答并行开进程啊,先有一个控制进程,用于控制如何给这些进程文件名,再有一个用于PV控制的额进程,用于结果的处理,否则读取的结果如何存储。并行开10个读取进程,每个进程读取一个文件文件,将读取的内容放在PV控制进行中,由PV的信号量控制共享内存的使用,最终生成每个文件对应的数据,最后的存储看你的机制了。我做信号处理就是这样的
是的 我是想知道该怎么编程解决这个问题,以前没做过大数据的处理,没有思路
这个问题可以这么去理解:假如图中有10万个节点(序号1-10万),节点之间存在联系,二元组出现次数相当于节点之间边的权重,当然了节点之间也可能不存在边。问题就相当于要得到一个邻接矩阵,矩阵中的元素是边的权重(出现次数)。因为数据量很大,不知道该怎么编程处理。如果你有好的方法 请详细介绍下
追答我没时间帮你太多,我只是说说我的想法,你处理一部分,就保存成文件,然后继续,这样内存就够用了