使用Apache Beam在BigTable中使用checkAndMutate(有条件的写入)

问题描述 投票:0回答:1

我需要使用Apache Beam将记录写入BigTable。但是,如果表中已经存在特定的行键,则不得写入记录。我可以在BigTable中使用条件写入吗?我在文档中没有找到使用Apache Beam的示例。

google-cloud-dataflow apache-beam google-cloud-bigtable bigtable
1个回答
0
投票

您应该能够通过创建条件行突变来检查行正则表达式,然后将您的突变应用于记录来做到这一点。这是使用Java客户端(不是HBase Java)的代码,但是对于其他客户端,您可以在documentation中找到更多示例以及要包含的所有必需软件包。

String rowkey = "YOUR_ROWKEY";
Mutation mutation =
      Mutation.create().setCell(COLUMN_FAMILY_NAME, COLUMN_QUALIFIER, timestamp, VALUE);

Filter filter = FILTERS.key().regex("^YOUR_ROWKEY$");

  ConditionalRowMutation conditionalRowMutation =
      ConditionalRowMutation.create(tableId, rowkey).condition(filter).otherwise(mutation);
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.