gpt4 book ai didi

java - 如何过滤和排序几 GB 的数据?

转载 作者:搜寻专家 更新时间:2023-10-30 19:50:23 26 4
gpt4 key购买 nike

我有一个 36gb 的大文件,在这个结构中有大约 6 亿行数据:

LogID,SensorID,ValueNumeric,ValueString,DateAdded,VariableName,Name   
1215220724,1182,1,0000,,2016-01-04 12:56:57.7770000,Scan_Frequency,MIC_2

我只对日期、值、变量名和流(名称)感兴趣。问题是有很多重复的条目,而且数据没有按日期排序。

我目前的解决方案是,我先浏览 100.000 行,读取变量的名称(其中有 833 个),然后在 DB 中为每个变量创建一个表。对于主键,我使用日期(我已经截断了秒和毫秒),所以我的数据库不会重复。我知道这不是最好的主键字符串。

然后我再次读取该文件并将该数据输入到表中,但是速度太慢了。我的估计是我最终应该至少减少 10 倍的行数。

有没有人有更好的主意,如何读取这么大的文件并按日期排序并删除重复项。以 5 分钟为间隔保存数据就足够了。

最佳答案

我会使用 Elasticsearch + Logstash基于解决方案(它们是免费的,并且与它们的安装默认值一起工作得很好)。 Logstash 旨在从多个来源(包括 CSV 文件)摄取数据,而 Elasticsearch 是一个 NoSql 数据库,在索引文档和查询文档方面做得非常出色。

参见 this question and answer作为起点,here is the documentation .

关于java - 如何过滤和排序几 GB 的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44617514/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com