statistics.rs

statistics.rs - Топик со статистикой витрины

Структура сообщения

datamartStatisticResponseMessage:
  description: Статистика витрины
  schemaFormat: 'application/vnd.apache.avro;version=1.9.0'
  bindings:
    kafka:
      key:
        type: string
        format: uuid
        description: Уникальный идентификатор запроса
  headers:
    type: object
    properties:
      REQUEST_ID:
        description: Идентификатор запроса
        type: string
  payload:
    $ref: '#/components/schemas/datamartStatisticResponse'
  examples:
    - name: simple
      headers:
        REQUEST_ID: 2e8c8ab2-44db-4dcb-8ae5-2365121b4e14
      payload:
        protocol: read.statistic.protocol.v.1
        requestId: 2e8c8ab2-44db-4dcb-8ae5-2365121b4e14
        datamart:
          mnemonic: fias
          version:
            major: 1
            minor: 0
          tables:
            - mnemonic: addrobj
              columns:
                - mnemonic: oktmo
                  notGreater10: 10.0
                  inRange11And100: 50.0
                  inRange101And1000: 30.0
                  moreThan1000: 10.0

Avro-схема сообщения

datamartStatisticResponse:
  schemaFormat: 'application/vnd.apache.avro;version=1.9.0'
  type: record
  name: DatamartStatisticResponse
  namespace: ru.rtlabs.common.datamart.profile
  fields:
    - name: protocol
      description: Версия протокола. Указывается константа read.statistic.protocol.v.1
      type: string
    - name: requestId
      description: Уникальный идентификатор запроса
      type:
        type: string
        logicalType: uuid
    - name: datamart
      description: Статистика по витрине
      type:
        type: record
        name: DatamartStatistic
        fields:
          - name: mnemonic
            description: Мнемоника витрины
            type: string
          - name: version
            description: Версия
            type:
              type: record
              name: SemanticVersion
              namespace: ru.rtlabs.common.model.metadata
              fields:
                - name: major
                  type: int
                  minimum: 1
                - name: minor
                  type: int
                  minimum: 0
          - name: tables
            type:
              type: array
              items:
                type: record
                name: TableStatistic
                fields:
                  - name: mnemonic
                    description: Мнемоника витрины
                    type: string
                  - name: columns
                    description: Колонки
                    type:
                      type: array
                      items:
                        type: record
                        name: ColumnStatistic
                        description: Статистика по колонке
                        fields:
                          - name: mnemonic
                            type: string
                          - name: notGreater10
                            type: double
                          - name: inRange11And100
                            type: double
                          - name: inRange101And1000
                            type: double
                          - name: moreThan1000
                            type: double