现在我正在从事有关数据格式转换的工作.有一个大文件,比如10GB,我实现的当前解决方案是逐行读取这个文件,转换每行的格式,然后输出到输出文件.我发现变换过程是一个瓶颈.所以我试图以同时的方式做到这一点.
每条线都是一个完整的单元,与其他线路无关.由于线路中的某些特定值不满足需求,因此可能会丢弃某些线路.
现在我有两个计划:
一个线程从输入文件中逐行读取数据,然后将该行放入队列,几个线程从队列中获取行,转换格式,然后将行放入输出队列,最后输出线程从输出队列中读取行并写入输出文件.
几个线程当前从输入文件的不同部分读取数据,然后处理该行并通过输出队列或文件锁输出到文件.
你们能给我一些建议吗?对此,我真的非常感激.
提前致谢!
当我试图完成我的工作时,我遇到了这样的问题.
给定数据集,对于每个项目,存在D维度,并且可以将C值设置为每个维度.
例如,数据集事(ID,所有者,颜色,重量),ID是主键
的所有者属性可以是翘,千斤顶,扎克 ;
该颜色属性可以是红色,黄色,绿色 ;
的重量属性可以是高,中,低 ;
在该数据集中,D = 3,C = 3
现在我想做很多次查询,例如:
"有没有所有者=红色和颜色=红色的数据"?
"有没有重量=低的数据"?
"有没有所有者=红色和颜色=红色和重量=高"的数据?
我只需要"是或否"来回答这个问题.
我最初需要这样做,我的意思是没有数据库.
在PC中,我尝试使用Bitmap和倒排索引来完成要求,但数据集的大小将为百万,Dimensionality将为8~18,基数将为5~15.结果,效率不够好.
你能给我任何建议让它更有效吗?
提前致谢!