-3

我有 ~4gb 的文本文件,我解析并将数据保存在数据库中。这个过程几乎需要 3-4 小时(5-6 百万行)来处理和保存数据库中的数据。这是一个日常过程。

现在,当我查询数据库时,它花费了太多时间来计算结果并返回。就像我对某一天进行简单的平均求和运算一样,它需要 30-40 分钟。

我现在正在使用python,mysql。尝试 Spark 也进行此计算,这也需要 30-40 分钟,现在数据正在增加,因此文件大小会增加,它会像 10gb 一样,这 spark 无法处理大文件。

请建议我如何改善解析、存储在数据库中和获取时间的时间。

4

1 回答 1

0

我不知道您使用的是什么数据库,但也许您可以切换?

我建议使用 Impala + AVRO 模式。您可能需要使用 HIVE 刷新/创建表,因为 Impala 在管理区域中缺少一些功能。

我用它在 HDFS 上存储文件并进行分组,然后在 4 台机器上合计 45GB 的浮点数花了我大约 40 秒。您无需花时间将任何内容放入数据库,因为源是文件本身。您所需要的只是将文件存储在 HDFS 中,但它与任何 FS 一样快。

于 2015-03-27T13:18:46.567 回答