query.rs
query.rs - Топик c чанками данных исполнения запросов
Структура сообщения
datamartExecuteQueryResultChunkMessage:
description: Чанк с данными по исполнению запроса
contentType: 'application/octet-stream'
bindings:
kafka:
key:
$ref: '#/components/schemas/datamartExecuteQueryResultChunk'
headers:
type: object
properties:
MESSAGE_TYPE:
description: Тип сообщения
type: string
const: DatamartExecuteQueryResultChunk:0.1
payload:
description: Бинарные данные чанка
examples:
- name: base64
headers:
MESSAGE_TYPE: DatamartExecuteQueryResultChunk:0.1
payload:
value: JEEJNodyLO7p1pgsRHG9pEiXeYGvHW4YCl4FgrgBmu5C92iVX1PV2GZdcqsb66bx8sk=
Avro-схема сообщения
datamartExecuteQueryResultChunk:
schemaFormat: 'application/vnd.apache.avro;version=1.9.0'
type: record
name: QueryResultChunk
namespace: datamart.query
fields:
- name: requestId
description: Уникальный идентификатор запроса
type:
type: string
logicalType: uuid
- name: subRequestId
description: Уникальный идентификатор подзапроса
type:
type: string
logicalType: uuid
- name: replyTo
description: Служебная информация маршрутизации сообщения. Заполняется соответсвующим значением из запроса
type: string
- name: chunkNumber
description: Номер порции по порядку
type: int
minimum: 1
- name: isLastChunk
description: Признак последнего сообщения
type: boolean
- name: streamNumber
description: Номер стрима дланных
minimum: 1
type:
- int
- "null"
- name: streamTotal
description: Общее количество стримов
minimum: 1
type:
- int
- "null"
- name: isFragmented
description: Признак присутствия в чанке неполных строк (строк, которые были разбиты на несколько чанков)
type: boolean
- name: uncompressedSize
description: Признак присутствия в чанке неполных строк (строк, которые были разбиты на несколько чанков)
type: int
minimum: 0
examples:
- requestId: 2e8c8ab2-44db-4dcb-8ae5-2365121b4e14
subRequestId: 608c5a5a-01d4-4439-8220-dda41a8519fe
replyTo: agent-fias
chunkNumber: 1
isLastChunk: true
streamNumber:
int: 1
streamTotal:
int: 1
isFragmented: false
uncompressedSize: 10