【问题标题】:Bigtable bulk insertBigtable 批量插入
【发布时间】:2018-05-31 12:16:37
【问题描述】:

我可以使用 python 在 Bigtable 中执行批量插入吗?

我使用下面的方法插入,速度很慢。我有数百万行要插入。

def row(self, row_key, filter_=None, append=False):
    """Factory to create a row associated with this table.

参考文档:https://googlecloudplatform.github.io/google-cloud-python/latest/bigtable/table.html

谢谢。

【问题讨论】:

    标签: python google-cloud-bigtable


    【解决方案1】:

    我想你在找mutate_rows

    Cloud Bigtable writes有更多细节,还有一个Python example

    【讨论】:

    • 非常感谢。 @加里
    【解决方案2】:

    如果你在 google-bigtable 中使用 happybase API,你可以使用 bigtable happybase 批处理方法

    from google.cloud import bigtable,happybase
    client = bigtable.Client(project=my_project_id, admin=True)
    bigtable_instance= client.instance(my_instance_id)
    bt_connection = happybase.Connection(instance=bigtable_instance)
    bt_table = bt_connection.table(my_bigtable_name)
    
    bt_batch_actions = bt_table.batch()
    for key,val in my_info.items():
        bt_batch_actions.put(key.encode('utf-8'):val.encode('utf-8'))
    bt_batch_actions.send()
    

    希望这会有所帮助!

    【讨论】:

      【解决方案3】:

      谷歌云 python 库现在实际上只支持一个网络请求的批处理。它叫做mutations_batcher,文档可以在here找到。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-02-15
        • 1970-01-01
        • 2012-02-16
        • 2023-04-09
        • 2020-10-24
        • 2015-03-31
        • 2012-05-10
        相关资源
        最近更新 更多