184 похожих чатов

Коллеги, подскажите, как заставить CH нормально парсить строку даты

в формате '2022-03-28 00:00:00.00000'. Строка попадает с фильтра superseta, где я пока не нашел возможности ее править. Может есть в настройках возможность парсить такой формат?

24 ответов

18 просмотров

select parseDateTime64BestEffortOrNull('2022-03-28 00:00:00.00000', 3, 'UTC')

Денис-Жирнов Автор вопроса
Алексей Фирсов
select parseDateTime64BestEffortOrNull('2022-03-2...

Согласен, но проблема в том, что этот запрос прилетает из superset и править дату в нем я не могу. Можно ли как то в настройках clickhouse заставить ее парсить дату в этом формате?

Денис Жирнов
Согласен, но проблема в том, что этот запрос приле...

Если сразу не можете менять в запросе на вставку, то сложите сначала во временную таблицу как строку, а потом уже из нее инсерт с преобразованием

Денис Жирнов
Согласен, но проблема в том, что этот запрос приле...

только я почему-то не могу воспроизвести вашу ситуацию. у меня есть DateTime64 поле в таблице, но в датасете Superset получается тип DATETIME и все миллисекунды автоматически отбрасываются. у вас какой тип данных для колонки в датасете?

Денис-Жирнов Автор вопроса
ivan
только я почему-то не могу воспроизвести вашу ситу...

там просто datetime. попробовать изменить на datetime64?

Денис-Жирнов Автор вопроса
ivan
там, это где?

в исходной таблице clickhouse, к которой обращается superset

Денис Жирнов
в исходной таблице clickhouse, к которой обращаетс...

посмотрите, что в датасете для этой таблицы

Денис Жирнов
В датасете Nullable(Datetime)

на вкладке COLUMNS датасета в Superset в колонке Data type прямо написано "Nullable(Datetime)"? там же всегда были типы формата STRING, DATETIME, UINT64.

Денис-Жирнов Автор вопроса
ivan
на вкладке COLUMNS датасета в Superset в колонке D...

Он взял формат исходной таблицы

Денис Жирнов
screenshot Он взял формат исходной таблицы

раскройте инфу по колонке, что там в DATETIME FORMAT?

Денис-Жирнов Автор вопроса
ivan
раскройте инфу по колонке, что там в DATETIME FORM...

я сделал запрос напрямую в CH и он такой формат даты видеть не желает. Стоит убрать хвост .000000 и все работает, но по уомолчанию CH не хочет парсить эту строку. А superset не хочет передавать другой формат даты

Денис-Жирнов Автор вопроса
Константин
У вас вместо пробела *

Подправил, но проблема не в этом

Денис Жирнов
screenshot я сделал запрос напрямую в CH и он такой формат да...

это понятно. вопрос в том, почему Superset генерит такую строку (я вопроизвести это не могу, может, отдельный загон какой-то версии) попробуйте сделать calculated column в датасете, которая обернет эту колонку в CAST to Nullable(DateTime). как вариант, поможет понять, эта ситуация возникает при чтении данных для датасета или уже внутри самого датасета при назначении типов

Денис-Жирнов Автор вопроса
Денис-Жирнов Автор вопроса
ivan
это понятно. вопрос в том, почему Superset генерит...

Иван, большое спасибо. Когда я добавил к вычисляемой колонке в свойствах datetime format все заработало! И superset стал делать адекватные запросы

Денис Жирнов
Иван, большое спасибо. Когда я добавил к вычисляем...

то есть теоретически можно обойтись без дополнительной колонки, а просто указать нужный datetime format для оригинальной?🤔

Денис-Жирнов Автор вопроса
ivan
то есть теоретически можно обойтись без дополнител...

Да, вы правы. Я принудительно указал формат даты для колонки и все работает) Спасибо за правильную наводку!)

Денис Жирнов
Да, вы правы. Я принудительно указал формат даты д...

а какая у вас версия Superset? интересно, нас эта ситуация еще ждет или мы ее уже проскочили )

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта