如何解决我们可以使用bigtable插入多个表吗
我有一个用例,其中我必须使用python中的bigtable在多个表中写入事件数据。在bigtable中有可能吗,或者在bigtable中我们不能这样做。 当我尝试用同一代码在多个表中写入数据时,就会发生此问题。 google.cloud.bigtable.table.TableMismatchError:
请确认我们是否可以使用bigtable进行操作。
解决方法
Bigtable不支持写入多个表,因此您需要为每个表建立连接,然后按表对写入进行分组。您可以执行以下操作:
table1 = instance.table(table_id1)
table2 = instance.table(table_id2)
timestamp = datetime.datetime.utcnow()
column_family_id = "stats_summary"
rows1 = [table.direct_row("tablet#a0b81f74#20190501"),table.direct_row("tablet#a0b81f74#20190502")]
rows1[0].set_cell(...)
rows1[0].set_cell(...)
rows1[1].set_cell(...)
rows1[1].set_cell(...)
rows2 = [table.direct_row("tablet#20190501#a0b81f74"),table.direct_row("tablet#20190502#a0b81f74")]
rows2[0].set_cell(...)
rows2[0].set_cell(...)
rows2[1].set_cell(...)
rows2[1].set_cell(...)
response1 = table1.mutate_rows(rows)
response2 = table2.mutate_rows(rows)
还有更多有关如何执行各种writes in the Bigtable documentation的示例,因此一旦创建了其他Bigtbale表连接,就可以按照这些示例进行操作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。