виде JSON происходит постоянно небольшими батчами, примерно каждые 5-10 секунд вставляется от 1 до 100 записей. В большинстве случаев 5-10. И меня в данном случае
Проблема в том, что происходит ошибка 49 (LOGICAL_ERROR) 1% до 2% записей он для какое-то поля не смог вывести тип и пишет что оно Array(Nothing).
Случайно обнаружил, что повторная вставка тех-же данных записывается без ошибок и реализовав переотправку ровно тех-же данных в коде при возникновении этой ошибки удалось снизить количество вставок с ошибкой примерно раза в 3.
Подскажите, как мне сделать так, чтобы такая ошибка перестала возникать совсем? Делать переотправку данных до тех пор пока кликхаус их не примет тоже как-то не хочется.
Есть формат JSON с явным описанием формата полей: https://clickhouse.com/docs/en/interfaces/formats#jsoncolumnsmonoblock
В смысле у вас колонка с типом JSON? Он экспериментальный и его не рекомендуется использовать. А ещё его признали неудачей и выпиливают, заменяя на полностью другой. Т.е. однажды при апгрейде все превратиться в тыкву. https://github.com/ClickHouse/ClickHouse/issues/54864
А в гринпламе с json все ок?
я не знаю, я никогда не смотрел на гриплам
работали когда-нибудь с продуктовыми ивентами?
К чему этот вопрос? Я как саппорт инженер работал с тысячами разных юзкейсов
хотел поинтересоваться каким образом справлялись с event_params в big query, т.к. event_params удобнее всего переливать в clickhouse в json и парсить
Да, у нас колонка JSON и я знаю, что его хотят выпилить.
Ну переделать в массивы в etl или использовать JSONExtract
Экстракт перед кликхаусом?
функция есть JSONExtract в clickhouse из строки достает то что нужно... https://presentations.clickhouse.com/meetup40/uber.pdf вот почитайте
Да где хотите. Я описал два разных варианта. https://kb.altinity.com/altinity-kb-schema-design/altinity-kb-jsonasstring-and-mat.-view-as-json-parser/ https://kb.altinity.com/altinity-kb-schema-design/altinity-kb-jsoneachrow-tuples-and-mvs/ https://kb.altinity.com/altinity-kb-queries-and-syntax/jsonextract-to-parse-many-attributes-at-a-time/
Я понял, имею ввиду для ее применения у вас должна быть в кликхаусе json колонка, но вы сказали, что такие колонки лучше не держать. Поэтому интересуюсь, на каком этапе вы планируете экстрактить
https://kb.altinity.com/altinity-kb-schema-design/altinity-kb-jsonasstring-and-mat.-view-as-json-parser Тип JSON vs тип String
У нас достаточно сложные JSON и писать и поддерживать решение на базе JSONExtract под каждый поток данных будет трудозатратно. А преобразовать в массивы в ETL - это как?
Про массивы это не вам отвечал.
подскажите, а почему его решили выпиливать?
Обсуждают сегодня