【发布时间】:2015-01-29 01:44:18
【问题描述】:
如何通过读取 CSV 文件(比如 2000 万行)来保存大量数据。 到目前为止,它已经运行了将近 1 1/2 天,并且只保留了 1000 万行,我怎样才能批处理它以使其变得更快,并且有可能以并行方式运行它。
我正在使用此处的代码来读取 CSV,我想知道是否有更好的方法来实现这一点。
【问题讨论】:
-
内存中有 2000 万行的目标是什么?为什么不直接读取每一行并将其放入 SQLite 数据库中呢? (然后在那里进行分析)如果您尝试处理大量数据,那么您会想看看 MapReduce。
-
我想处理所有数据并将其存储在 MySQL 数据库中以供进一步处理。让我知道我是否可以优化读取数据或批量持久化数据的方式。在这里欣赏任何代码 sn-ps。行也通过了吗?
-
您能提供一个示例架构吗?那我会整理一个sn-p。
-
create_table :test do |t| t.integer :foo, :null => false, :limit => 11 t.integer :foo1, :null => false, :limit => 11 t.integer :foo2, :null => false, :limit => 11结束结束
-
@Besto 可以提供sn-p的代码吗?
标签: ruby-on-rails parsing csv