从 Postgres 导出并在 Neo4j 中导入 - 在此过程中丢失了一些数据
Exporting from Postgres and importing in Neo4j - some data lost in the process
我有一个 Postgres table,我将其完全导出为 CSV。
我正在 Neo4j 中导入所有行的 CSV 文件。
导出和导入的记录数不同。
我在导出或导入过程中没有收到任何错误。
这是计数。我丢失了 133 条记录。
select count(1) from wokas;
count
----------
19798966
(1 row)
match (n:Woka) return count(n);
+----------+
| count(n) |
+----------+
| 19798833 |
+----------+
1 row
16944 ms
导出命令为:
COPY (SELECT woka_id, author_id, publisher_id, language_id, woka_title FROM wokas) TO '/Users/levi/woka-data/wokas.csv' WITH CSV header;
导入命令为:
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:/Users/levi/woka-data/wokas.csv" AS row
CREATE (:Woka {woka_id: row.woka_id, author_id: row.author_id, publisher_id: row.publisher_id, language_id: row.language_id, woka_title: row.woka_title});
这里有什么问题?
它可能是您的 CSV 中的内容,例如。杂散引号或空字符等
您可以使用 csvkit 等工具来分析您的 CSV。
您也可以使用 Cypher 来完成其中的一些工作。开始于:
LOAD CSV WITH HEADERS FROM "file:/Users/levi/woka-data/wokas.csv" AS row
RETURN count(*)
然后从那里开始工作...
我们在这里介绍了其中的一些内容:
http://neo4j.com/developer/guide-import-csv/#_csv_data_quality
我有一个 Postgres table,我将其完全导出为 CSV。 我正在 Neo4j 中导入所有行的 CSV 文件。 导出和导入的记录数不同。 我在导出或导入过程中没有收到任何错误。 这是计数。我丢失了 133 条记录。
select count(1) from wokas;
count
----------
19798966
(1 row)
match (n:Woka) return count(n);
+----------+
| count(n) |
+----------+
| 19798833 |
+----------+
1 row
16944 ms
导出命令为:
COPY (SELECT woka_id, author_id, publisher_id, language_id, woka_title FROM wokas) TO '/Users/levi/woka-data/wokas.csv' WITH CSV header;
导入命令为:
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:/Users/levi/woka-data/wokas.csv" AS row
CREATE (:Woka {woka_id: row.woka_id, author_id: row.author_id, publisher_id: row.publisher_id, language_id: row.language_id, woka_title: row.woka_title});
这里有什么问题?
它可能是您的 CSV 中的内容,例如。杂散引号或空字符等
您可以使用 csvkit 等工具来分析您的 CSV。
您也可以使用 Cypher 来完成其中的一些工作。开始于:
LOAD CSV WITH HEADERS FROM "file:/Users/levi/woka-data/wokas.csv" AS row
RETURN count(*)
然后从那里开始工作...
我们在这里介绍了其中的一些内容:
http://neo4j.com/developer/guide-import-csv/#_csv_data_quality