Сравнить файл CSV с результатами Neo4j - PullRequest
0 голосов
/ 24 октября 2018

У меня есть задача сравнить экспорт оракула (CSV-подобный формат, но не запятую как разделитель) с экспортом neo4j.

Один файл CSV-файла оракула (может иметь миллионы строк) имеет вид:

OBJECT_ID|'¦'|NAME|'¦'|SITE_LOCATION|'¦'|PARENT_ID|'¦'|LOCATION_CODE
9144735089013188062|¦|00|¦|9144735080313909184|¦|9144735085613119290|¦|O2GB

Здесь OBJECT_ID является уникальным и данные сортируются по нему.

  1. Теперь мой первый подход состоял в том, чтобы создать из cypher db аналогичный csv с использованием некоторого сохранения кода Java в Map<String, Map<String, String>>Переменные результаты запроса шифра, как:

{"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 не совпадает.

Второй подход, который я могу придумать, это загрузить oracle csv в Map<String, Map<String, String>> или некоторый тип данных и сравнить его с моими результатами шифрования, пропуская преобразование neo4j в csv.

Будет ли этоможно было загружать параллельно из каждой CSV построчно в аналогичную карту чего-либо без необходимости загружать оба CSV в одно и то же время в память?

Как лучше всего это сделать?

Ответы [ 2 ]

0 голосов
/ 24 октября 2018

Файлы JSON одинаковы?Вы можете просто использовать инструмент сравнения, такой как Meld

0 голосов
/ 24 октября 2018

Может быть, вам следует загрузить свои CSV-файлы в любую реляционную БД (возможно, в Oracle, которая у вас уже есть) и сравнить их с помощью SQL-запросов?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...