2013-10-01 7 views
3

У меня есть файл с разделителями в качестве источника входных данных для записи данных в 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шаблон, 'строка'Преобразование URI по умолчанию при использовании 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 будет использовать однопоточность.