Загрузите файл CSV в базу данных контента с коллекцией, используя corb - PullRequest
0 голосов
/ 13 мая 2018

У меня есть файл CSV в моей локальной папке. Я хочу загрузить этот файл в базу данных MarkLogic, используя CoRB, в указанную коллекцию. Можете ли вы помочь?

1 Ответ

0 голосов
/ 14 мая 2018

Возможно, вы захотите настроить свою работу на использование опции URIS-FILE , указывающей на ваш CSV.CORB прочитает файл и отправит каждую из строк из CSV в сконфигурированный МОДУЛЬ ПРОЦЕССА в качестве значения $URI для обработки.

Свойствафайл будет выглядеть примерно так:

# how to connect to to the XCC server
XCC-CONNECTION-URI=xcc://user:password@localhost:8202/
# path to the CSV file to be processed
URIS-FILE=input-uris.csv 
# the module that will process and save each CSV row
PROCESS-MODULE=save-row.xqy|ADHOC
# how many threads to use to execute process modules
THREAD-COUNT=10 

В вашем модуле процесса вам нужно будет объявить внешнюю переменную с именем $URIS, а затем разметить строку CSV с помощью разделителя и обработать столбцы данных.,Вызовите xdmp:document-insert(), чтобы вставить документ и указать коллекцию (и), в которую вы хотите поместить документ:

xquery version "1.0-ml";

declare variable $URI as xs:string external;

let $columns := fn:tokenize($URI, ",\s?")
(: assuming that the first column has a unique value to be used for the URI :)
let $uri := $columns[1]
(:do whatever processing you would need to generate the document from CSV columns :)
let $content := $columns[2] 
return 
  xdmp:document-insert($uri,
    $content, 
    map:map() => map:with("collections", "mySpecialCollection")
  )

Примечание: подпись для xdmp: document-insert () недавно изменилась. Теперь вы указываете xdmp:document-insert параметры, такие как разрешения и коллекции, либо в карте, либо в элементе параметров в третьем параметре.В предыдущих версиях MarkLogic разрешения и коллекции были третьим и четвертым параметрами.Настройте вызов на xdmp:document-insert() в соответствии с используемой версией MarkLogic (в верхней левой части документации есть выпадающий список для выбора вашей версии).

...