经过几个小时的搜索和许多死路一条,我发现自己在这里。这个问题有点开放,所以我会尽可能简洁。
情况:我有10个管道分隔的文本文件,每个文件大约70 Gb,它们没有编入索引。可用的硬件是具有32 Gb内存的单个桌面 - 出于数据隐私的原因,这是无法更改的。
进展:我已经能够使用readr包中的R中的read_delim_chunked函数过滤到感兴趣的行。这导致csv约为6 Gb。
下一步:上述过程大约需要12个小时才能完成。由于上述限制,数据可能会经常使用,无法加载到内存中,所以我想设置工作流程,以便在更短的时间内更轻松地查询。基于搜索,创建数据库似乎解决了这个问题,因为它可以使用R,Python或SQL进行查询。如何做到最后一步?我不确定,这就是我在这里的原因。创建数据库甚至是最好的选择吗?再次,这就是我在这里的原因。
不可否认,这个问题略高于我的工资等级,文明的TA。工程。当然,所以这更像是一个教学岗位而不是寻找一个非常特殊的解决方案的解决方案。也许真正的问题是,工作流程对于处理这么大的文件是什么样的?我不一定需要在这里发布详细的解决方案 - 类似教程的链接甚至会很棒。