Bigtable массовая вставка

Могу ли я выполнить массовую вставку в Bigtable, используя python.

Я использую метод ниже, чтобы вставить, который очень медленно. У меня есть миллионы строк для вставки.

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

Благодарю.

2 ответа

Библиотеки облачных питонов Google теперь фактически поддерживают пакетирование только с одним сетевым запросом. Это называется mutations_batcherи документацию можно найти здесь.

Если вы используете happybase API с google-bigtable, вы можете использовать bigtable happybase batch метод

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()

Надеюсь это поможет!

Другие вопросы по тегам