Когда я отправляю CSV-файл в marklogic, он не перезаписывает предыдущий?
Я отправляю следующие csv файлы в marklogic
id,first_name,last_name,email,country,ip_address
5,Shawn,Grant,sgrant0@51.la,Liberia,37.194.161.124
5,Joshua,Fields,jfields1@godaddy.com,Colombia,54.224.238.176
5,Johnny,Bell,jbell2@t.co,Finland,159.38.61.122
Через mlcp, используя следующую команду
C:\mlcp-9.0.3\bin>mlcp.bat import -host localhost -port 9636 -username admin -pa
ssword admin -input_file_path D:\test.csv -input_file_type delimited_text -docum
ent_type json
What happened ?
Когда я увидел консоль запросов, у меня был один документ JSON со следующей информацией
id,first_name,last_name,email,country,ip_address
5,Shawn,Grant,sgrant0@51.la,Liberia,37.194.161.124
What i am expecting ?
По умолчанию первый столбец csv берется путем создания документа json/xml. Так как я посылаю 3 строки, он должен иметь самую последнюю информацию (т.е.3-ю строку) правильно.
By Assumption
Так как я посылаю все три строки одновременно в mlcp, мы не можем сказать, какая из них идет первой в ML DB
Дайте мне знать, правильно ли мое предположение или нет..
Спасибо
1 ответ
МЛКП хочет быть как можно быстрее. В случае файлов CSV он будет обрабатывать строки, используя множество потоков (и даже осколок документа, если вы передадите опцию split). При этом нет гарантии, что он будет обработан в каком-либо конкретном порядке. Возможно, вам удастся настроить некоторые параметры в MLCP для использования одного потока и не обрабатывать файл, чтобы повлиять на желаемые результаты, но в этом случае вы теряете часть мощности MLCP.
Во-вторых, замечание: вы добавляете немало накладных расходов на вставку и перезапись ненужных документов из того, как я интерпретирую вашу проблему. Почему бы не отсортировать и не отфильтровать исходный CSV-документ по одной записи для каждого идентификатора и сохранить компьютер от дальнейшей работы.