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 ответа
Я думаю, что вы ищете mutate_rows
: https://googlecloudplatform.github.io/google-cloud-python/latest/bigtable/table.html
Библиотеки облачных питонов 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()
Надеюсь это поможет!