Можно ли импортировать данные из Amazon S3 в MarkLogic используяMarkLogic - S3 Импорт
- JavaScript/XQUERY API
- MarkLogic Содержание насоса
- Любой другой путь?
Пожалуйста, поделитесь ссылкой, если таковой имеется.
Можно ли импортировать данные из Amazon S3 в MarkLogic используяMarkLogic - S3 Импорт
Пожалуйста, поделитесь ссылкой, если таковой имеется.
Я не эксперт AWS ни на одном участке, но если вы знаете расположение данных на S3, вы можете использовать xdmp:document-get() с префиксом http: // в $ location для получения документов. Вы также можете использовать xdmp:http-get(), возможно, для запроса местоположений ваших документов. Как только эта команда вернется, вы можете использовать обычный xdmp: document-insert.
Этот подход должен быть подходящим для небольшого количества документов. Если у вас есть большой набор, который вы хотите импортировать, вам придется учитывать возможность выключения транзакции.
Для большего набора данных вы можете захотеть управлять процессом извне. Вот несколько вариантов:
нагрузки test.xml файл из AWS S3 в базу данных, связанную с вашим экземпляром REST API, используя службу/documents:
curl https://s3.amazonaws.com/yourbucket/test.xml | curl -v --digest --user user:password -H "Content-Type: application/xml" -X PUT -d @- "localhost:8052/v1/documents?uri=/docs/test.xml"
https://s3.amazonaws.com/yourbucket/test.xml
с действительной URL хранения AWS S3user:password
с действительными значениямиlocalhost:8052
с URL вашего сервера приложений MarkLogicНедавно я столкнулся с таким же вопросом и я следующий код MLCP для копирования данных, и он сработал.
mlcp export -host {host} -port {port} -username {username} -password {password} -output_file_path {S3 path} -collection_filter {collection name to be moved}
Если настроить AWS credententials в инструмент администратора, вы можете использовать URL вида «s3: // ведро/ключ» для доступа к S3 для чтения или записи.
Я настоятельно рекомендую Client API Java для этого случая использования. –
@ dave-cassel Спасибо за ответ. Может ли _MLCP_ как-то работать для данных на S3? Он выполняет задание MapReduce, поэтому в идеале он должен.Импорт терабайт данных на локальный диск может оказаться не оптимальным решением. Кроме того, если кластер находится в AWS, передача данных составляет 2x (загрузка, а затем массовая загрузка с использованием MLCP). – blackzero
@blackzero MLCP знает только два источника ввода для работы с: файловой системой и самой MarkLogic (для операций копирования и экспорта). Для MarkLogic 8 я считаю, что ваши лучшие ставки - это варианты 2 или 3 выше. –