将失败的记录复制到dynamo db

时间:2015-02-11 11:08:32

标签: hive amazon-dynamodb

我使用hive脚本将5000万条记录复制到亚马逊dynamodb。在项目大小超出异常的情况下运行2天后脚本失败。

现在,如果我再次重新启动脚本,它将从第一个记录再次开始插入。有没有办法可以说“只插入那些不在dynamo db中的记录”?

1 个答案:

答案 0 :(得分:0)

如果指定的属性不等于您提供的值,则可以使用conditional writes仅编写项目。这是通过ConditionExpression PutItem请求来完成的。但是,it still uses write capacity even if a write fails(强调我的)所以这对你来说可能不是最好的选择:

  

如果条件写入期间ConditionExpression失败,则为DynamoDB   仍然会从表中消耗一个写入容量单位。 A失败   条件写入将返回ConditionalCheckFailedException   而不是写操作的预期响应。为了这   原因是,您不会收到有关写入容量的任何信息   被消耗的单位。但是,你可以查看   Amazon CloudWatch中表的ConsumedWriteCapacityUnits指标   确定从中消耗的预配置写入容量   表