Dataflow DatastoreIO“太多争用”异常处理

时间:2016-08-11 10:42:42

标签: google-cloud-dataflow

我需要将数十亿个不同类型的实体插入到数据存储区中。我正在使用Dataflow来执行此操作。这些行表示其他实体的复杂索引,因此将这些实体用作祖先。当我在这些数据存储实体上出现“太多争用”错误并且管道崩溃时,我通过管道得到了大约10%。

我应该采用什么策略来管理它,以便我可以插入数据而不会崩溃,这需要启动管道?

一种想法是让DatastoreIO将有问题的实体置于队列的后面而不是崩溃。

1 个答案:

答案 0 :(得分:1)

数据存储区不支持单个实体或实体组的高qps写入。您将不得不围绕它设计您的应用程序。请参阅contentionscalability附近的文档。

几个关键点:

  • 避免按字典顺序关闭具有高qps的键
  • 具有高写入qps的分片实体