我们需要将大量数据(大约 500 万条记录)导入到 rails 应用程序下的 postgresql db。数据将以 xml 格式提供,其中的图像使用 Base64 编码。
xml 文件的估计大小为 40GB。什么 xml 解析器可以在 ruby 中处理这么多的数据?
谢谢。
我们需要将大量数据(大约 500 万条记录)导入到 rails 应用程序下的 postgresql db。数据将以 xml 格式提供,其中的图像使用 Base64 编码。
xml 文件的估计大小为 40GB。什么 xml 解析器可以在 ruby 中处理这么多的数据?
谢谢。
正如 Juha 所说,您应该使用 XML SAX 解析器。我认为 Libxml 是 ruby 中最快的 xml lib。
您可以将数据转换为 CSV,然后使用 DBMS CSV 加载功能将其加载到数据库中。对于MySQL 是 this,对于PostgreSQL 是 this。我不会使用 Ruby 中内置的任何东西来加载 40GB 的文件,这对内存来说不太好。最好留给“专业人士”。