Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用自动编码将CSV(或TSV)加载到MarkLogic中_Marklogic_Mlcp_Nosql - Fatal编程技术网

使用自动编码将CSV(或TSV)加载到MarkLogic中

使用自动编码将CSV(或TSV)加载到MarkLogic中,marklogic,mlcp,nosql,Marklogic,Mlcp,Nosql,我已经使用MLCP(MarkLogic内容泵)成功地将一个非常干净(纯英语,没有花哨的符号或图像)的CSV文件加载到MarkLogic中,这样它就可以将第一行作为列名,并且我了解到,当我尝试加载一些不干净的东西(即与其他语言和编码混合)时,它会失败 我从摄取指南()中读到编码不能用MLCP控制,所以我决定尝试一下JavaAPI和XDMPXQuery 使用Java API时,我得到: 第1549行的UTF-8转义序列无效--文档未进行UTF-8编码 如果我尝试在查询控制台或InformationS

我已经使用MLCP(MarkLogic内容泵)成功地将一个非常干净(纯英语,没有花哨的符号或图像)的CSV文件加载到MarkLogic中,这样它就可以将第一行作为列名,并且我了解到,当我尝试加载一些不干净的东西(即与其他语言和编码混合)时,它会失败

我从摄取指南()中读到编码不能用MLCP控制,所以我决定尝试一下JavaAPI和XDMPXQuery

使用Java API时,我得到: 第1549行的UTF-8转义序列无效--文档未进行UTF-8编码

如果我尝试在查询控制台或InformationStudio上的流中使用xdmp in和自动编码加载它,它加载时不会出现问题,但MarkLogic不会将第一行作为列名,而是将整个文件作为一个文档加载,这不是我要找的

有没有办法加载CSV文件而不存在编码问题,并将其作为列名放在第一行


提前感谢。

RecordLoader可以做到:

使用这些属性和CSV文件运行
recordloader.sh
。RecordLoader希望第一行是标题列表,并将这些标题转换为元素名称。调整
my root element name
以适合您自己,并将
INPUT\u ENCODING
设置为您需要的任何编码


查看更多配置选项

您是否尝试过先在编辑器中打开文件,然后强制将其另存为UTF-8?
SEVERE:com.marklogic.recordloader.FatalException:com.marklogic.recordloader.LoaderException:document mismatch:fields=2,labels=19 at stdin:2:
如何解决此问题?我应该使用Java API还是shell脚本?通过StackOverflow提供支持听起来是个坏主意:请在您有足够空间的地方告诉我所有血淋淋的细节。
CONFIGURATION_CLASSNAME=com.marklogic.recordloader.xcc.DelimitedDataConfiguration
FIELD_DELIMITER=,
RECORD_NAME=my-root-element-name