Использование динамической таблицы как очереди
Для реализации очереди с помощью динамических таблиц, используйте упорядоченные динамические таблицы. Такие таблицы представляют собой последовательность упорядоченных строк, ключевые колонки в таких таблицах отсутствуют.
CLI
Python
-
Создать таблицу:
yt create table //path/to/table --attributes \ '{dynamic=%true;schema=[{name=first_name;type=string};{name=last_name;type=string}]}'
-
Смонтировать таблицу:
yt mount-table //path/to/table
-
Записать данные:
echo '{first_name=Ivan;last_name=Ivanov}' | yt insert-rows //path/to/table --format yson
-
Прочитать данные:
yt select-rows '* from [//path/to/table]' --format json {"first_name":"Ivan","last_name":"Ivanov"}
-
Создать таблицу:
import yt.wrapper as yt schema = [ { 'name': 'first_name', 'type': 'string' }, { 'name': 'last_name', 'type': 'string' } ] yt.create('table', '//path/to/table', attributes = {'dynamic': True, 'schema': schema})
-
Смонтировать таблицу:
yt.mount_table('//path/to/table')
-
Записать данные:
data = [{ 'first_name': 'Ivan', 'last_name': 'Ivanov' }] client.insert_rows('//path/to/table', data)
-
Прочитать данные:
for d in client.select_rows('* FROM [//path/to/table]'): print(d) {'$tablet_index': 0L, 'first_name': 'Ivan', '$row_index': 0L, 'last_name': 'Ivanov'}
Подробнее об очистке и о делении упорядоченных динамических таблиц на таблеты можно прочитать в разделе Упорядоченные динамические таблицы.