---
metadata:
  - name: generator
    content: Diplodoc Platform v5.51.0
alternate:
  - https://ytsaurus.tech/docs/en/user-guide/dynamic-tables/tutorials/dynamic-table-queue.md
  - https://ytsaurus.tech/docs/ru/user-guide/dynamic-tables/tutorials/dynamic-table-queue.md
  - href: ru/user-guide/dynamic-tables/tutorials/dynamic-table-queue.md
    type: text/markdown
    title: Markdown version
  - href: ../../../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://ytsaurus.tech/docs/ru/llms.txt

<!-- source: ru/_includes/user-guide/dynamic-tables/tutorials/dynamic-table-queue.md -->
# Использование динамической таблицы как очереди

Для реализации очереди с помощью динамических таблиц, используйте упорядоченные динамические таблицы. Такие таблицы представляют собой последовательность упорядоченных строк, ключевые колонки в таких таблицах отсутствуют.

{% list tabs %}

- CLI

  1. Создать таблицу:
     ```bash
     yt create table //path/to/table --attributes \
     '{dynamic=%true;schema=[{name=first_name;type=string};{name=last_name;type=string}]}'
     ```

  2. Смонтировать таблицу:
     ```bash
     yt mount-table //path/to/table
     ```

  3. Записать данные:
     ```bash
     echo '{first_name=Ivan;last_name=Ivanov}' | yt insert-rows //path/to/table --format yson
     ```

  4. Прочитать данные:
     ```bash
     yt select-rows '* from [//path/to/table]' --format json
     {"first_name":"Ivan","last_name":"Ivanov"}
     ```


- Python

  1. Создать таблицу:
     ```python
     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})
     ```

  2. Смонтировать таблицу:
     ```python
     yt.mount_table('//path/to/table')
     ```

  3. Записать данные:
     ```python
     data = [{
             'first_name': 'Ivan',
             'last_name': 'Ivanov'
     }]

     client.insert_rows('//path/to/table', data)
     ```

  4. Прочитать данные:
     ```python
     for d in client.select_rows('* FROM [//path/to/table]'):
         print(d)
     {'$tablet_index': 0L, 'first_name': 'Ivan', '$row_index': 0L, 'last_name': 'Ivanov'}
     ```

{% endlist %}

Подробнее об очистке и о делении упорядоченных динамических таблиц на таблеты можно прочитать в разделе [Упорядоченные динамические таблицы](https://ytsaurus.tech/docs/ru/user-guide/dynamic-tables/ordered-dynamic-tables.md).
<!-- endsource: ru/_includes/user-guide/dynamic-tables/tutorials/dynamic-table-queue.md -->