есть как бороться с такими ошибками?
Unexpected end of file while parsing JSON object
Умеет, вы должны написать в таблице с движком kafaka kafka_skip_broken_messages = 65536. Цифры говорят о том сколько записей из пачки сможет пропустить. Я указываю у себя этот параметр равный параметру пачки данных, с которой работаю
спасибо, а почему именно такое значение?
kafka_skip_broken_messages — максимальное количество некорректных сообщений в блоке. 65536 - это количество сообщений с которыми работает kafak engine по дефолту. Т.е если у вас придут все данные невалидеые, вы сможете все пропустить и не упасть
всё равно жалуется на строку
kafka_format = 'JSONEachRow'? Еще если у вас могут придти неописанные поля, то надо указать input_format_skip_unknown_fields = 1
да, тут вопрос скорее не в лишних полях, а возможном битом json, например { «name»: «hello» он такое пропустит?
Все что не сможет распарсить пропустит
для теста отправил сообщение { установил все значения, ошибка не пропала … kafka_format = 'JSONAsString', input_format_skip_unknown_fields = 1, kafka_skip_broken_messages = 100000 DB::Exception: Unexpected end of file while parsing JSON object.: (Input format doesn't allow to skip errors)
попробуйте поменять kafka_fromat
разые что ошибка поменялась) Unexpected end of stream while parsing JSONEachRow format: While executing SourceFromInputStream
А как вы проверяете? Напрямую вставляете в таблицу или вставляете в kafka и уже от туда получаете данные?
Обсуждают сегодня