使用MLCP时转换默认URI

时间:2013-10-01 06:58:25

标签: uri marklogic mlcp

我有一个分隔文件作为输入源,通过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来获取所有记录吗?

1 个答案:

答案 0 :(得分:1)

您可以通过这种或那种方式提供独特的ID。对于分隔文件,最简单的答案可能是添加一个新列并使用唯一ID填充它,然后根据需要生成。

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