возвращает массив значений?
Нужно именно посчитать хэш от всех данных лежащих в массиве как если бы они лежали в одном файле или передавались на вход хэширующей функции из пайпа
сконкатенируй значения в строку и возьми хеш
В массиве лежать числа, мне хэш от них в строковом представлении не подходит. Да и как их собрать в одну строку я что то тоже не нашёл ((
SELECT murmurHash3_64(arrayStringConcat(arrayMap(x -> toString(x), [123, 456, 789]))
в файле лежат строки или байтики. байтики могут по-разному лежать
Ну порядок байт в КХ и на компе у меня одинаковый, так что должно работать корректно, но перегонять числа в строки совсем не хочется
SELECT [123, 456, 789] arr, arrayStringConcat(arrayMap(x -> toString(x), arr),'-') str, murmurHash3_64(str) hash
и в чем проблема ? SELECT murmurHash3_64([1, 2, 3])
Пробовал отдавать на вход прямо массив из селекта - выдаёт ошибку. Завтра попробую ещё раз. С конкатенацией массива в строку всё работает
старый КХ? SELECT murmurHash3_64([1, 2, 3]) ┌─murmurHash3_64([1, 2, 3])─┐ │ 13667601236002041579 │ └───────────────────────────┘
Обсуждают сегодня