截断并重新加载

时间:2019-06-10 06:58:01

标签: python amazon-web-services gremlin bulk-load amazon-neptune

我正在尝试截断Neptune db并通过批量加载重新加载相同的数据 但是数据库没有考虑将相同的数据加载到Neptune中。 我们使用g.V()。drop()和类似的边缘。谁能帮我解决这个问题。我的项目涉及基于计划的截断和修改后的数据重新加载,并且具有相同的ID

我们删除实例并重新创建Neptune,然后加载工作正常

curl -X POST \
    -H 'Content-Type: application/json' \
    https://*:8182/loader -d '
    {
      "source" : "s3://***",
      "format" : "csv",
      "iamRoleArn" : "",
      "region" : "*",
      "failOnError" : "FALSE",
      "parallelism" : "MEDIUM"
    }'

提供的记录数与所标识的Neptune批量装入器数不匹配,并且首次成功获取相同数据的重装失败

1 个答案:

答案 0 :(得分:0)

您确定您的放置请求已完全完成吗?根据您的数据规模,截断整个数据库可能会花费一些时间和IO,并且在几乎所有情况下,仅创建一个新集群并将其用于此类用例是一个更好的选择。在某些用例中,客户创建空集群(其中没有实例),并对空集群提出应用程序声明,向其添加实例,然后如果他们想要干净的板岩数据库就开始使用它。

注意事项

  1. 删除大型数据库可能需要花费时间
  2. 删除数据库涉及很多IO,并且会产生费用
  3. 删除群集并使用新的群集通常更快,而且更便宜
  4. 您可以拥有空的群集,这些群集的成本几乎为零,并且您可以在需要时配置一个实例
  5. 将实例添加到现有集群或创建新集群通常需要不到10分钟的时间,并且您始终可以在应用中建立登录名以预先计划并配置新数据库,切换应用程序,然后终止旧集群(有或没有最终快照)。