【发布时间】:2020-04-05 22:40:04
【问题描述】:
我的应用程序需要定期处理数据。应用程序需要处理新数据,然后将其与旧数据合并。数据可能有数十亿行,只有两列,第一列是行名,第二列是值。下面是一个例子:
a00001,12
a00002,2321
a00003,234
新数据可能有新的行名或旧的。我想合并它们。因此,在处理过程中的每个过程中,我都需要读取旧的大数据文件并将其与新的大数据文件合并。然后我将新数据写入一个新文件。
我发现最耗时的过程是读写数据。我尝试了几种数据I/O方式。
- 原始读写文本。这是最耗时的方式
- Python pickle 包,但是对于大数据文件效率不高
还有其他的数据I/O格式或者包可以在python中高效的加载和写入大数据吗?
【问题讨论】:
-
为了处理数十亿行,我的建议是使用 Apache Spark 和 pyspark。
-
@HenriqueBranco 使用 apache spark 会带来更多的硬件和维护成本。而且一开始可能只有一千万