首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MLCP分隔文件

MLCP分隔文件
EN

Stack Overflow用户
提问于 2015-10-29 10:26:25
回答 2查看 326关注 0票数 2

我试着加载数据。这不管用。

我试过的是:

多个分隔符,所有带引号的字段,所有字段不包含,数据中没有标头,mlcp中没有分隔符选项,mlcp中的其他分隔符选项,其他计算机,其他ML8版本,其他Java版本,更少的数据,更多的数据,有或没有转换。

我的shell脚本:

代码语言:javascript
复制
#!/bin/bash

# Data laden met transform
#############################################
mlcp.sh import \
 -host localhost \
 -port 37041 \
 -username admin \
 -password admin \
 -input_file_path sampledata/DIKW \
 -input_file_type delimited_text \
 -delimiter ";" \
 -transform_module /ext/obi/transform/dikw-transform-eval.xqy \
 -transform_namespace "http://marklogic.com/dikw" \
 -mode local \
 -thread_count 1 \
 -transaction_size 1 \
 -batch_size 1

数据

代码语言:javascript
复制
"INCIDENTID";"DATUM";"TIJD";"HECTOMETERAANDUIDING";"WEGNAAM";"KORTBESCHRIJVING"
161236;02-08-14 00:00;1839-11-23 17:05:20;13.3;A14;"a- 1pa" 

错误

代码语言:javascript
复制
15/10/29 11:15:23 ERROR contentpump.DelimitedTextReader: (line 0) invalid char between encapsulated token end delimiter
EN

回答 2

Stack Overflow用户

发布于 2015-10-29 16:08:30

看看这个博客用MLCP摄取定界文本,它解释了这种问题的原因,以及该做些什么。简而言之,您之所以看到这个错误,主要是因为您有如下一些数据:

代码语言:javascript
复制
"first"name;lastName;middle

这里的第一列是无效的CSV列,因为您不能在字段中有引号,除非您转义它。有关更多细节,请参阅帖子。

尽管在您提出问题的数据示例中,这似乎还可以。但是,仍然请确保在原始数据中,您不会在字段中间留下任何双引号。顺便问一下,您使用的mlcp版本是什么?

票数 2
EN

Stack Overflow用户

发布于 2015-10-29 17:22:56

在使用非标准分隔符时,我已经看到使用选项文件更好。

options.txt:

代码语言:javascript
复制
import
-host
localhost
-port
37041
-username
admin
-password
admin
-input_file_path
sampledata/DIKW
-input_file_type
delimited_text
-delimiter
;
-transform_module
/ext/obi/transform/dikw-transform-eval.xqy
-transform_namespace
http://marklogic.com/dikw
-mode
local
-thread_count
1
-transaction_size
1
-batch_size
1

注意,这允许您跳过分号周围的引号。然后:

代码语言:javascript
复制
mlcp.sh -options_file options.txt
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33411676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档