Преобразование URI по умолчанию при использовании MLCP

У меня есть файл с разделителями в качестве источника ввода для загрузки данных в marklogic с использованием conten-pump через unix. В файле нет такого столбца, который был бы уникальным, чтобы служить 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 ответ

Так или иначе, вы должны предоставить уникальные идентификаторы. Для файла с разделителями проще всего было бы добавить новый столбец и заполнить его уникальным идентификатором, сгенерированным так, как вам нравится.

Или вы можете использовать http://marklogic.github.io/recordloader/ DelimitedDataLoader со специальной опцией ID_NAME=#AUTO, Но имейте в виду, что ID_NAME=#AUTO будет однопоточным проглатыванием.

Другие вопросы по тегам