LINUX.ORG.RU

Аналог cube в Clickhouse?

 , ,


0

1

Документация у Кликхауса скудная, не нашел. В общем, мне нужно считать евклидово расстояние, как в cube, только в кликхаусе. Есть ли такая возможность в самом кликхаусе? То есть что-то такое: SELECT c FROM test ORDER BY c <-> cube(array[0.5,0.5,0.5]) LIMIT 1;

Можно и на стороне клиента посчитать, но это будет медленно.

upcFrost

P.S. Прошу модераторов добавить тэг.

★★★★

Последнее исправление: Wizard_ (всего исправлений: 2)

Ну, как минимум там есть лямбды. Надо на более конкретном примере смотреть. Скажем что есть «с»?

upcFrost ★★★★★
()
Ответ на: комментарий от upcFrost
 Столбец  | Тип  | Правило сортировки | Допустимость NULL | По умолчанию 
----------+------+--------------------+-------------------+--------------
 dataset  | text |                    |                   | 
 filename | text |                    |                   | 
 encode   | cube |                    |                   | 

Фактически там массив из 128 float-чисел типа такого

-0.08090664446353912, 0.14390455186367035, 0.0676300972700119, -0.0562259703874588, -0.1271694004535675, -0.03829389065504074, 0.013586465269327164, -0.14299020171165466, 0.2679329812526703, -0.12358812987804413, 0.1609898805618286, -0.05362820252776146, -0.3547697067260742, 0.11035451292991638, -0.13259989023208618, 0.2085535228252411, -0.1054898202419281, -0.17596875131130219, -0.14586633443832397, -0.15520069003105164, 0.056243766099214554, 0.14579664170742035, -0.04040566831827164, 0.09786919504404068, -0.1875220388174057, -0.21547289192676544, -0.0780743658542633, -0.06246747821569443, 0.011726533994078636, -0.13788676261901855, 0.042625121772289276, 0.12420326471328735, -0.07653152197599411, 0.046106547117233276, 0.047592394053936005, -0.01651126891374588, -0.022530395537614822, -0.16329467296600342, 0.2483212649822235, 0.07803671061992645, -0.2404254525899887, 0.006939951330423355, 0.0488865002989769, 0.3323541283607483, 0.14204125106334686, -0.024979380890727043, 0.04992781952023506, -0.06404558569192886, 0.12312934547662735, -0.3216608762741089, -0.05383748933672905, 0.20773504674434662, -0.004882390145212412, 0.043555255979299545, 0.057530343532562256, -0.22535161674022675, -0.036144841462373734, 0.17247729003429413, -0.2133796513080597, 0.1211332231760025, 0.11418861895799637, -0.20249688625335693, -0.10718489438295364, -0.05601140111684799, 0.16547946631908417, 0.0628143772482872, -0.1983514130115509, -0.0867542028427124, 0.2152228057384491, -0.18624556064605713, -0.025471873581409454, 0.09938260912895203, -0.14410659670829773, -0.20270197093486786, -0.18226496875286102, 0.05101091414690018, 0.486739844083786, 0.13386742770671844, -0.09388512372970581, 0.08000122755765915, -0.04856149107217789, 0.055942222476005554, -0.027655266225337982, 0.118776336312294, -0.05771374702453613, -0.08496865630149841, -0.09966561943292618, 0.05306044965982437, 0.23868514597415924, -0.025445478036999702, 0.010074706748127937, 0.3294317126274109, 0.017147786915302277, -0.07440286129713058, -0.06806262582540512, 0.09680349379777908, -0.1578720062971115, -0.08871343731880188, 0.005632302723824978, -0.0034564826637506485, 0.079039067029953, -0.07752864062786102, 0.0017943219281733036, 0.09791351854801178, -0.18476128578186035, 0.19635458290576935, -0.03466518968343735, -0.01745469868183136, -0.028061965480446815, 0.008248348720371723, -0.04607672244310379, 0.0070069823414087296, 0.19562889635562897, -0.23844395577907562, 0.1513601690530777, 0.16960616409778595, 0.0358295813202858, 0.12617096304893494, 0.007163128815591335, 0.05832930654287338, 0.0461992584168911, -0.033151183277368546, -0.12738581001758575, -0.1823681890964508, 0.05446620285511017, -0.07187902927398682, 0.007521003484725952, 0.009232083335518837

dnb ★★★★
() автор топика
Ответ на: комментарий от dnb

Встроенного метода точно нет. Можно вывернуться через лямбду если это единично, либо написать скрипт с тоже лямбдой (внешний) чтоб принимать размеры кубов и каждый раз кнопки не нажимать. Я для такой фигни обертки на жабке писал поточные, было довольно бодро (хотя jdbc у кх пока еще так себе), пару гигов за 3-6 секунд пережевывало, там уже в канал клиента упирались

Если реально надо, и не только для себя - можешь попробовать поговорить с разрабами, они в целом на контакт идут, но скорое всего скажут что будут рады PR

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от upcFrost

PR это я точно не осилю, попробую костылями как-нибудь. Спасибо :)

dnb ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.