TGViewer
дата инженеретта дата инженеретта @data_engineerette · 3.43K subscribers
Post #206 2.5K
1️⃣➕2️⃣❕🟰3️⃣

Недавно столкнулась с необычным кейсом, связанный с несоответствием типов данных в КХ.

У нас есть таблица-источник, поверх вьюшка:

CREATE TABLE t (id String)
ENGINE = MergeTree()
ORDER BY id;

INSERT INTO t VALUES
('187'),
('2298'),
('9');

CREATE VIEW v (id Int32) AS
SELECT id
FROM t;


Обратите внимание, что в табличке лежит String, а во вьюшке Int.

Потом ищем минимумы:

SELECT min(id) FROM t;
--187
SELECT min(id) FROM v;
--9


Тут вопросиков нет: в таблице сортировка строк (поэтому с 1 будет минимальным), во вьюшке - как обычно.

А потом мы пытаем разделить на 2 диапазона по минимуму, и тут происходит какая-то дичь:

SELECT count() FROM v WHERE id >= '187';
--2
SELECT count() FROM v WHERE id < '187';
--0 ??? (должно быть 1)

SELECT count() FROM v WHERE id >= '9';
--1 ??? (должно быть 3)
SELECT count() FROM v WHERE id < '9';
--0


Причем если сравнивать без кавычек, то вываливается ошибка:

There is no supertype for types String, Int32


То есть в этих сравнениях какие-то значения сравниваются как строки, а какие-то как числа, и я не вижу никакого паттерна😭

Зато в плейграунде все работает как надо😑
Т.е. напрашивается, что особенности могут быть связаны именно с настройкой кластера
  • 👍 9
  • 🤔 4
More from @data_engineerette
  1. Sep 30, 20265 октября начнется 19-й поток программы Data Engineer от Newprolab Программа для junior- и…
  2. Sep 25, 2026Как прошла SmartData 2026? Я вот перечитываю свои впечатления от прошлого года и понимаю,…
  3. Sep 24, 2026Исследование data-people Тут ребята из DevCrowd запустили ежегодное исследование специалис…
  4. Sep 15, 2026Каким должен быть хороший DE? Меня однажды спросили на собесе: 🤩Какие 3 качества важны дл…
  5. Sep 12, 2026Mermaid-диаграммы Наконец-то дошли руки поковыряться в mermaid-диаграммах, это что за имба…
  6. Sep 2, 2026Iceberg — это внезапный бум или планомерная подготовка? Заметили, как с определенного моме…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →