我有一个csv文件,它是从数据仓库系统每月生成的。该文件包含大约2亿条记录。
我的要求是在很短的时间内(可能<3-4小时)处理此文件(聚合,与其他一些数据连接,写入RDBMS表,在网页上显示聚合内容)。
目前,我遇到的最大瓶颈是聚合。
早些时候,当文件的大小是几千条记录时,我在RDBMS中插入记录,在RDBMS中聚合它,然后执行剩余的步骤。
现在大小已经增长到数百万条记录,我正在使用map-reduce任务进行聚合。这是非常快的,但它有自己的基础设施,这是一个开销。
我仍然可以在单个节点hadoop设置上运行map-reduce,并在运行我的Web服务器的同一系统上运行它,但我想这会占用服务器内存。
这里有中间地带吗?是什么让我能够快速处理记录但不涉及额外的基础设施?