我使用hive脚本将5000万条记录复制到亚马逊dynamodb。在项目大小超出异常的情况下运行2天后脚本失败。
现在,如果我再次重新启动脚本,它将从第一个记录再次开始插入。有没有办法可以说“只插入那些不在dynamo db中的记录”?
答案 0 :(得分:0)
如果指定的属性不等于您提供的值,则可以使用conditional writes仅编写项目。这是通过ConditionExpression
PutItem
请求来完成的。但是,it still uses write capacity even if a write fails(强调我的)所以这对你来说可能不是最好的选择:
如果条件写入期间ConditionExpression失败,则为DynamoDB 仍然会从表中消耗一个写入容量单位。 A失败 条件写入将返回ConditionalCheckFailedException 而不是写操作的预期响应。为了这 原因是,您不会收到有关写入容量的任何信息 被消耗的单位。但是,你可以查看 Amazon CloudWatch中表的ConsumedWriteCapacityUnits指标 确定从中消耗的预配置写入容量 表