我们可以使用以下方法将数据从 Amazon S3 导入到 MarkLogic 中
- JavaScript/xQuery API
- MarkLogic 内容泵
- 还有其他方法吗?
请分享引用资料(如果有)。
最佳答案
无论如何,我都不是 AWS 专家,但如果您知道 S3 上数据的位置,则可以使用 xdmp:document-get() ,在 $location 中带有 http://前缀,用于检索文档。您还可以使用xdmp:http-get() ,也许是为了查询文档的位置。该命令返回后,您可以使用通常的 xdmp:document-insert。
这种方法应该适合少量文档。如果您要导入大量数据,则必须考虑事务超时的可能性。
对于更大的数据集,您可能希望在外部管理该流程。这里有几个选项:
- 将数据从 S3 导出到本地文件系统,然后使用 MLCP将其发送至 MarkLogic
- 插入包含您要导入的 S3 资源列表的文档;生成任务,每个任务将获取一组这些资源并使用 xdmp:document-get() 导入它们
- 使用 Java 代码从 S3 中提取一个文档(或一批文档),然后使用 Java Client API将该数据插入 MarkLogic
- MarkLogic 9 发布后,请使用 Data Movement SDK ,旨在使此类项目变得更容易(在撰写本文时,DMSDK 仍在开发中)
关于amazon-s3 - MarkLogic - S3 导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40655420/