我的任务是将oracle导出(CSV格式但不以逗号作为定界符)与neo4j导出进行比较。
一个oracle csv文件(可以有几百万行)的格式如下:
OBJECT_ID|'¦'|NAME|'¦'|SITE_LOCATION|'¦'|PARENT_ID|'¦'|LOCATION_CODE
9144735089013188062|¦|00|¦|9144735080313909184|¦|9144735085613119290|¦|O2GB
这里OBJECT_ID是唯一的,并按它对数据进行排序。
Map<String, Map<String, String>>
变量中,以生成类似cypher的查询结果:{“ loc1” = {ObjectId =“ 9144735079813886326”,NAME =“ locationName”, SITE_LOCATION =“ Location”,ParentId =“ 9144735080313909184”}, “ loc2” = {ObjectId =“ 9144735079813886326”,NAME =“ locationName”,SITE_LOCATION =“ Location”,ParentId =“ 9144735080313909184”}}
并将其导出到csv。
然后,我必须将两个csvs加载回java以便进行比较,并创建某种报告,如果2个csvs的值不匹配,则需要输入密钥名称。
Map<String, Map<String, String>>
或某种数据类型中,并将其与我的密码结果进行比较,从而跳过neo4j到csv的转换。是否可以在相似的Map中逐行从每个csv并行加载,而无需将两个csv同时加载到内存中?
什么是最好的方法?
答案 0 :(得分:0)
也许您应该将CSV加载到任何关系数据库(可能已经有Oracle)并使用SQL查询进行比较?
答案 1 :(得分:-1)
JSON文件是否相同?您可以只使用Meld
之类的差异工具