将巨大的JSON文件导入数据库

时间:2019-05-24 11:11:07

标签: node.js database postgresql stream psql

我有一个4GB JSON文件,需要将其导入数据库。 JSON是:

{
  "transport_metadata": {
    "id": "81b18379105fa9626fde73b99bfa6cbac4d3618d",
    "source_system": "test",
    "build_version": "0.1.1",
    "schema_version": "schema_x",
    "creation_time": ""
  },
  "payload": {
    "data": [
      {...},{...},{...}
    ]
  }
}

我需要保存在数据库中的唯一部分是数据内部的数组。

我已经使用事务使用Postgres和Knex尝试了JSONStream库,但是很显然,JSONStream不能很好地处理大量数据并耗尽内存(这不应该,因为它使用流..显示stream.write正在“泄漏”内存(?)。

我尝试了PSQL复制功能,但无法仅将.payload.data导入临时表create unlogged table _import_jsonb (doc jsonb);

我不确定什么是最好的方法,有人会为此找到更好的实现方法吗?

0 个答案:

没有答案