Процессор обработки входных данных¶
Используется для преобразования и обработки данных, приходящих из внешних систем.
Публичные методы¶
insert_messages_from_kafka¶
Метод, предназначенный для вставки данных из Kafka в спейсы роли storage. Требует для работы наличие schema_registry
, которое предоставляет схемы avro.
Параметры:
messages
– массив сообщений Kafka, которые представляют собой lua-таблицу структуры:
{
"topic":"имя топика",
"partition":"номер партиции",
"offset":"оффсет",
"key":"ключ",
"value":"значение"
}
parse_key_function_str
– имя метода, использующегося для парсинга ключа;parse_value_function_str
– имя метода, использующегося для парсинга значений.
Возвращаемое значение: Возвращает результат обработки данных из Kafka. Выходной формат:
{
"topic":"имя топика",
"partition":"номер партиции",
"offset":"оффсет",
"key":"ключ",
"result": "результат операции true/false",
"error": "сообщение об ошибке или nil"
}
Конфигурация:
Использует параметры из настроек топиков кафки и настроек schema_registry.
load_csv_lines¶
Метод, предназначенный для вставки строк csv в спейсы роли storage.
Параметры:
space_name
– имя спейса, куда производится вставка;lines
– массив строк csv для вставки.
Возвращаемое значение:
- true – при успешной вставке;
- false,error – при ошибке.
get_metric¶
Метод, предназначенный для передачи метрик данной роли в систему сбора метрик.
Возвращаемое значение: Набор метрик в формате JSON.
Приватные методы¶
parse_avro¶
Метод, предназначенный для разбора avro и преобразования его в формат, необходимый для вставки в storage.
Параметры:
schema
– имя схемы для запроса в schema_registry;value
– значение для вставки в формате avro.
Возвращаемое значение:
- true – при успешной загрузке;
- false,error – при ошибке.
load_avro¶
Метод, предназначенный для загрузки данных из parse_avro
в storage.
Параметры:
space_name
– имя спейса, куда производится вставка строк;lines
– строки, которые необходимо вставить.
Возвращаемое значение:
- true,разобранные данные – при успешном разборе;
- false,error – при ошибке.
prepare_kafka_message_for_insert¶
Метод, предназначенный для предварительного разбора данных из insert_messages_from_kafka
.
Параметры:
topic
– имя топика Kafka, откуда пришли данные;data
– данные для вставки в storage;parse_function
– функция для разбора данных.
Возвращаемое значение:
- true,разобранные данные – при успешном разборе;
- false,error – при ошибке.
get_function_by_name¶
Метод, предназначенный для возврата функции по ее имени.
Параметры:
function_name
– имя функции для поиска в скоупе;
Возвращаемое значение: Функция или nil.