我将以下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.3bin>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
让我知道我的假设是对还是错。
谢谢
MLCP希望尽可能快。在CSV文件的情况下,它将使用许多线程处理行(如果通过拆分选项,甚至将文档碎片)。因此,不能保证它将按任何特定顺序进行处理。您可能可以调整MLCP中的某些设置以使用一个线程而不是碎片来影响您想要的结果,但是在这种情况下,您正在失去MLCP的某些功能。
第二,一个观察:您正在通过如何解释您的问题陈述来添加大量插入和覆盖不需要的文档的开销。为什么不将初始CSV文档排序并过滤到每个ID的一个记录,然后保存您的计算机进行更多工作。