0

我将以下 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 ?

默认情况下,通过创建 json/xml 文档获取 csv 的第一列。因为我要发送 3 行,所以它应该有最新的信息(即第 3 行)。

By Assumption

由于我在 mlcp 中一次发送所有三行,我们不能说哪一行首先发送到 ML DB

让我知道我的假设是对还是错..

谢谢

4

1 回答 1

2

MLCP 希望尽可能快。对于 CSV 文件,它将使用多个线程处理行(如果您通过 split 选项,甚至可以对文档进行分片)。有了这个,不能保证它会以任何特定的顺序处理。您可以调整 MLCP 中的某些设置以使用一个线程,而不是对文件进行分片以影响您想要的结果,但在这种情况下,您将失去 MLCP 的一些功能。

其次,一个观察:从我如何解释你的问题陈述中,你增加了相当多的插入和覆盖不需要的文档的开销。为什么不对您的初始 CSV 文档进行排序和过滤,使每个 ID 只记录一条记录,从而让您的计算机免于做更多工作。

于 2017-12-12T18:33:59.097 回答