amazon-s3 - MarkLogic - S3 导入

标签 amazon-s3 marklogic mlcp

我们可以使用以下方法将数据从 Amazon S3 导入到 MarkLogic 中

  1. JavaScript/xQuery API
  2. MarkLogic 内容泵
  3. 还有其他方法吗?

请分享引用资料(如果有)。

最佳答案

无论如何,我都不是 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/

相关文章:

javascript - 将变量传递给 xdmp.eval()

ruby - 在 Marklogic 集群之间移动大型文档时如何增加超时时间?

marklogic - Optic API 与 CTS 查询性能

marklogic - 使用 MLCP 将文件批量加载到 MarkLogic 失败

linux - Linux 上的 Blobfuse 与 Azure - 如何在 Azure 上创建 tmp-path

file-io - 通过Java写文件到S3

amazon-s3 - 使用pull方法的跨账户codepipeline

MarkLogic - 使用 MLCP 的增量加载

amazon-web-services - AWS 权限 - 我们是否需要在 Lambda 和 S3 上设置权限

amazon-web-services - 快速查找 S3 'folder' 的大小