使用 MLCP 时转换默认 URI



我有一个分隔的文件作为输入源,用于通过 unix 使用 conten-pump 在 marklogic 中摄取数据。文件中没有唯一的此类列作为 URI。这样做的问题是,由于重复 (URI) 是不可能的,因此会跳过/覆盖该特定 URI 的这些记录。可用的语法包括:- delimited_uri_id *my_column_name* output_uri_prefix *my_prefix_string* output_uri_suffix *my_suffix_string* output_uri_replace模式,"字符串"

mlcp 的命令是:

bin/mlcp.sh import -host localhost -port 8042 -username name -password password-input_file_path  hdfs://path/to/file -delimiter '|'  -delimited_uri_id column_name-input_file_type delimited_text -mode distributed

这里的问题是,如果我修改上述命令并包括:

-output_uri_prefix $(date +%s%N)

它需要执行此命令的时间(以纳秒为单位)和所有 URI 的前缀。但这并不能解决我的问题,因为这个值仍然重复。其他可用选项也会发生同样的情况。如何通过以某种方式为所有记录构造唯一 URI 来摄取所有记录?

无论如何,由您提供唯一的 ID。对于分隔文件,最简单的答案可能是添加一个新列并使用您喜欢的方式生成的唯一 id 填充它。

或者您可以将 http://marklogic.github.io/recordloader/DelimitedDataLoader与特殊选项一起使用 ID_NAME=#AUTO .但请记住,ID_NAME=#AUTO将单线程引入。

相关内容

  • 没有找到相关文章

最新更新