2017-12-12 10 views
0

난 내가 쿼리 콘솔을 볼 때 정보내가 marklogic에 csv 파일을 보낼 때 이전 파일을 덮어 쓰지 않고 있습니까?

를 다음과 같이 하나의 JSON 문서를했다

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 ?

다음 명령을 사용하여 mlcp 통해

id,first_name,last_name,email,country,ip_address 
5,Shawn,Grant,[email protected],Liberia,37.194.161.124 
5,Joshua,Fields,[email protected],Colombia,54.224.238.176 
5,Johnny,Bell,[email protected],Finland,159.38.61.122 

을 marklogic 다음 CSV 파일을 전송하고

id,first_name,last_name,email,country,ip_address 
5,Shawn,Grant,[email protected],Liberia,37.194.161.124 

기본적으로 csv의 첫 번째 열은 json/xml 문서를 작성하여 가져옵니다. 3 행을 전송하기 때문에 최신 정보 (즉, 3 행)가 있어야합니다.

By Assumption

내가 mlcp 한 번에 세 행을 보내고 있기 때문에 우리는 ..

이 내 가정은 옳고 그름인지 알려 ML DB에 처음으로 가고있는 하나의 말 못할

감사합니다.

답변

2

MLCP는 가능한 한 빨리되고 싶습니다. CSV 파일의 경우 많은 스레드를 사용하여 행을 처리합니다 (분할 옵션을 전달하면 문서를 분할합니다). 이것으로 특정 순서로 처리된다는 보장은 없습니다. 하나의 스레드를 사용하고 파일을 분할하여 원하는 결과에 영향을 미치지 않도록 MLCP의 일부 설정을 조정할 수도 있지만이 경우 MLCP의 성능을 일부 잃어 버리게됩니다.

둘째로, 귀하는 문제 성명을 해석하는 방법에서 불필요한 문서를 삽입하고 덮어 쓰는 오버 헤드를 추가하고 있습니다. 첫 번째 CSV 문서를 ID 당 하나의 레코드로만 정렬하고 필터링하여 컴퓨터가 더 많은 작업을하지 않도록하십시오.