我正在处理大约 200GB 的“中型”数据。数据是长格式的日志文件,每个“实体”有几千个日志。这些实体实际上是航班,每个日志条目出现在不同的时间戳。时间顺序很重要(我需要按时间戳排序)。
为了准备数据,我需要在每个航班上执行几个操作——按时间排序,选择最后 300 个观测值,按均值和标准差重新调整。没有什么花哨。
使用一小部分数据,我编写了一个简单的 R 程序,该程序按实体 ID 拆分数据帧,并对每个部分应用一个简短的函数。
现在我需要扩展代码。我考虑使用 Spark 的 groupBy 和用户定义的函数,但我知道当您需要索引行并将一行与索引下的邻居相关联时,Spark DataFrames 效率低下。而且无论如何,200GB 的数据不需要大规模分布式解决方案。
所以我想知道什么是扩大中等规模数据分析的最佳工具,当我需要将一个大文件拆分为较小的数据帧并对每个数据帧应用一个函数时,需要控制行的顺序。