Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
eacc223
quickstart трансфер данных
nshestakov Aug 27, 2025
7ffd804
fix
nshestakov Aug 27, 2025
695d95c
fix
nshestakov Aug 27, 2025
098e660
fix
nshestakov Aug 27, 2025
5d71110
fix
nshestakov Aug 27, 2025
aa68ea5
fix
nshestakov Aug 27, 2025
581ad24
Merge branch 'main' into TR-doc-receipt
nshestakov Sep 2, 2025
2ca1796
fix path to topic.md
nshestakov Sep 2, 2025
d15fde0
Пример с nginx
nshestakov Sep 3, 2025
9815297
fix
nshestakov Sep 3, 2025
0e854ce
fix
nshestakov Sep 3, 2025
07b36cf
fixes
nshestakov Sep 3, 2025
d984a66
fix
nshestakov Sep 3, 2025
957460d
fix
nshestakov Sep 3, 2025
384311f
fix
nshestakov Sep 3, 2025
9b01280
spelling
nshestakov Sep 3, 2025
141a8c2
batching
nshestakov Sep 3, 2025
3998685
added link
nshestakov Sep 4, 2025
2fa6d3c
Update ydb/docs/ru/core/recipes/transfer/_includes/batching.md
nshestakov Sep 12, 2025
66f6eeb
Update ydb/docs/ru/core/recipes/transfer/index.md
nshestakov Sep 12, 2025
b482bfc
Update ydb/docs/ru/core/recipes/transfer/transfer-nginx.md
nshestakov Sep 12, 2025
835b849
Update ydb/docs/ru/core/recipes/transfer/transfer-nginx.md
nshestakov Sep 12, 2025
d453c54
Update ydb/docs/ru/core/recipes/transfer/transfer-nginx.md
nshestakov Sep 12, 2025
c805e4e
Update ydb/docs/ru/core/recipes/transfer/transfer-nginx.md
nshestakov Sep 12, 2025
2715a43
Update ydb/docs/ru/core/recipes/transfer/transfer-nginx.md
nshestakov Sep 12, 2025
1cecfc8
Update ydb/docs/ru/core/recipes/transfer/transfer-nginx.md
nshestakov Sep 12, 2025
e404212
Update ydb/docs/ru/core/recipes/transfer/transfer-quickstart.md
nshestakov Sep 12, 2025
7435dc3
Update ydb/docs/ru/core/recipes/transfer/transfer-quickstart.md
nshestakov Sep 12, 2025
3e326f3
Update ydb/docs/ru/core/reference/kafka-api/connect/connect-examples.md
nshestakov Sep 12, 2025
873c443
renme files
nshestakov Sep 12, 2025
a471cf2
rename to line_lambda
nshestakov Sep 12, 2025
5c228f4
fix
nshestakov Sep 12, 2025
9ba018a
use table
nshestakov Sep 12, 2025
52ad9d3
use table
nshestakov Sep 12, 2025
1e3a8f3
more suggests
nshestakov Sep 12, 2025
481fadb
fix
nshestakov Sep 13, 2025
c9c45ea
added Unescape
nshestakov Sep 13, 2025
b8bf8c4
more links
nshestakov Sep 13, 2025
82f2792
fix
nshestakov Sep 13, 2025
4d41679
Update ydb/docs/ru/core/recipes/transfer/quickstart.md
nshestakov Sep 15, 2025
90a014e
rebase
orange13 Sep 15, 2025
ec32838
Update quickstart.md
orange13 Sep 15, 2025
579639d
Update connect-examples.md
orange13 Sep 15, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ydb/docs/ru/core/recipes/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@
* [{#T}](ydb-sdk/index.md)
* [{#T}](ydb-cli/index.md)
* [{#T}](../yql/reference/recipes/index.md)
* [{#T}](transfer/index.md)
5 changes: 5 additions & 0 deletions ydb/docs/ru/core/recipes/toc_p.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,8 @@ items:
include:
mode: link
path: vector-search/toc_p.yaml
- name: Трансфер данных из топика в таблицу
href: transfer/index.md
include:
mode: link
path: transfer/toc_p.yaml
7 changes: 7 additions & 0 deletions ydb/docs/ru/core/recipes/transfer/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Рецепты работы с трансфером данных из топика в таблицу

Этот раздел содержит рецепты работы с [трансфером](../../concepts/transfer.md) из топика в таблицу.

Содержание:

* [{#T}](transfer-quickstart.md)
3 changes: 3 additions & 0 deletions ydb/docs/ru/core/recipes/transfer/toc_p.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
items:
- name: Трансфер - быстрый старт
href: transfer-quickstart.md
101 changes: 101 additions & 0 deletions ydb/docs/ru/core/recipes/transfer/transfer-quickstart.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
# Трансфер — быстрый старт

Эта статья поможет быстро начать работу с [трансфером](../../concepts/transfer.md) в {{ ydb-short-name }} на простейшем модельном примере.

В статье будут рассмотрены следующие шаги работы с трансфером:

* [создание топика](#step1) из которого будет читать трансфер;
* [создание таблицы](#step2) в которую будут записываться данные;
* [создание трансфера](#step3);
* [заполнение топика данными](#step4);
* [проверка содержимого таблицы](#step5).

## Шаг 1. Создание топика {#step1}

Сначала нужно создать [топик](../../concepts/topic.md) в {{ ydb-short-name }}, из которого трансфер будет читать данные. Это можно сделать с помощью [SQL-запроса](../../yql/reference/syntax/create-topic.md):

```yql
CREATE TOPIC SourceTopic;
```

Этот топик `SourceTopic` позволяет передавать любые неструктурированные данные.

## Шаг 2. Создание таблицы {#step2}

После создания топика следует добавить [таблицу](../../concepts/datamodel/table.md), в которую будут поставляться данные из топика `SourceTopic`. Это можно сделать с помощью [SQL-запроса](../../yql/reference/syntax/create_table/index.md):

```yql
CREATE TABLE TargetTable (
partition Uint32 NOT NULL,
offset Uint64 NOT NULL,
data String,
PRIMARY KEY (partition, offset)
);
```

Эта таблица `TargetTable` имеет три столбца:

* `partition` — идентификатор [партиции](../../concepts/glossary.md#partition) топика, из которой получено сообщение;
* `offset` — [порядковый номер](../../concepts/glossary.md#offset), идентифицирующий сообщение внутри партиции;
* `data` — тело сообщения.

## Шаг 3. Создание трансфера {#step3}

После создания топика и таблицы следует добавить [трансфер](../../concepts/transfer.md) данных, который будет перекладывать сообщения из топика в таблицу. Это можно сделать с помощью [SQL-запроса](../../yql/reference/syntax/create-transfer.md):

```yql
$transformation_lambda = ($msg) -> {
return [
<|
partition: $msg._partition,
offset: $msg._offset,
data: $msg._data
|>
];
};

CREATE TRANSFER Transfer
FROM SourceTopic TO TargetTable
USING $transformation_lambda;
```

В этом примере:

* `$transformation_lambda` - это правило преобразования сообщения из топика в колонки таблицы;
* `$msg` - переменная, которая содержит обрабатываемое сообщение из топика.

## Шаг 4. Заполнение топика данными {#step4}

После создания трансфера можно записать в топик сообщение, например, используя [{{ ydb-short-name }} CLI](../../reference/ydb-cli/index.md).

{% include [x](../../_includes/ydb-cli-profile.md) %}

```bash
echo "Message 1" | ydb --profile quickstart topic write SourceTopic
echo "Message 2" | ydb --profile quickstart topic write SourceTopic
echo "Message 3" | ydb --profile quickstart topic write SourceTopic
```

## Шаг 5. Проверка содержимого таблицы {#step5}

После записи сообщения в топик `SourceTopic` спустя некоторое время появится запись в таблице `TargetTable`. Проверить ее наличие можно с помощью [SQL-запроса](../../yql/reference/syntax/select/index.md):

```yql
SELECT *
FROM TargetTable;
```

Результат выполнения запроса:

```bash
partition offset data
0 0 "Message 1"
0 1 "Message 2"
0 2 "Message 3"
```

## Заключение

Данная статья приводит простой пример работы с трансфером: создание топика, таблицы и трансфера, записи в топик и проверки результата работы трансфера.

Более подробную информацию о трансфере см. [здесь](../../concepts/transfer.md).