@clickhouse_ru

Страница 513 из 723
Stanislav
27.04.2018
11:01:41
Вы добавили в основную таблицу столбец и не поправили буферную?

Леонид
27.04.2018
11:02:58
добавил столбец в основную, дистрибутивную и в буферную. во все три

?
27.04.2018
11:34:25
ты-кс.. сгоряча обновился до версии 1.1.54380 и теперь не стартует <Error> Application: Net Exception: Address already in use: [::1]:8123 killall clickhouse-server делал, на порту никто не висит

prll
27.04.2018
11:35:46
какие listen_host в конфиге ?

Google
Nikolai
27.04.2018
11:36:15
добавил столбец в основную, дистрибутивную и в буферную. во все три
В документации написано: Если есть необходимость выполнить ALTER для подчинённой таблицы и для таблицы Buffer, то рекомендуется удалить таблицу Buffer, затем выполнить ALTER подчинённой таблицы, а затем создать таблицу Buffer заново. Если пересоздать буфер, проблема остается?

?
27.04.2018
11:38:50
какие listen_host в конфиге ?
ага, убрал :: – завелось

prll
27.04.2018
11:39:16
тогда не будет доступа снаружи

самое универсальное - оставлять только ::

?
27.04.2018
11:40:14
ну вот снаружи нет, ага

Ivan
27.04.2018
11:47:54
про listen_host пора уже раздел в FAQ добавить :)

?
27.04.2018
12:49:28
то чувство, когда ты обновил бинарник, а там изменилась логика джойнов ?

Vladimir
27.04.2018
12:51:19
Всем привет! Есть поле в таблице, fiield FixedString(24), оно в индексе (но это врядли имеет значение), имеется выше 100B записей. Так вот, группируем когда по нему group by field (там с фильтрами, оставляя к примеру Processed 3.16 billion rows), то у нас запрос уходит за 60 секунд и крашится) Долго - наверно потому, что там использвано 150+ ГБ памяти при запросе. Так вот, а если мы используем для группировки интовое поле другое - то конечно, все работает и памяти на запрос уходит 60.08 GB Вопрос - можно ли как-то строковое поле (или запрос) соптимизировать для группировок, чтобы памяти меньше "ело"? Кто-нибудь может с таким стакливался

Vladimir
27.04.2018
12:55:11
спасибо

Slach
27.04.2018
12:56:51
https://events.yandex.ru/events/meetings/16-May-2018/ Ребята. а нельзя сделать так чтобы не регистрироваться на мероприятие, но при этом получить ссылку на трансляцию? Ну там на странице сделать ссылку "добавить в календарь"?

Google
Vladimir
27.04.2018
13:08:08
Сделать хэш от строкового поля и сгруппировать, потом вытащить значения. Тут описываются споптобы как можно помочь https://www.youtube.com/watch?v=F-o-a00R4fc
хэш, я так понимаю, надо в табличку сложить? потому что group by citiHash64(field) что-то как-то не очень на уменьшение расхода памяти похоже. и если да, то alter table ... default cityHash64(field) такой запрос не обвалит таблицу?

Kirill
27.04.2018
13:17:28
хэш, я так понимаю, надо в табличку сложить? потому что group by citiHash64(field) что-то как-то не очень на уменьшение расхода памяти похоже. и если да, то alter table ... default cityHash64(field) такой запрос не обвалит таблицу?
Почему не похоже, хэш будет фиксированно 8 байт что в 3 раза меньше чем FixedString(24) и в произвольное число раз меньше произвольной строки

Vladimir
27.04.2018
13:18:08
Почитайте тут https://clickhouse.yandex/docs/ru/query_language/queries/#alter про alter
спасибо, добрый человек) я там был) при чтении старых данных, для которых отсутствуют значения новых столбцов, выполняется вычисление выражений по умолчанию на лету. в этом весь вопрос. я делаю запрос, который требует вычисления поля у 100Б строк. как-то боязно такое пускать, если честно

Vladimir
27.04.2018
13:25:37
Почему не похоже, хэш будет фиксированно 8 байт что в 3 раза меньше чем FixedString(24) и в произвольное число раз меньше произвольной строки
а как правильно его сгруппировать по хешу не меняя схему? Просто group by cityHash64(field) показывает такие же результаты

Vladimir
27.04.2018
13:35:06
Так и считать SELECT cityHash64(field) AS f, count() FROM T GROUP BY f
54 rows in set. Elapsed: 16.678 sec. Processed 2.99 billion rows, 89.78 GB (179.45 million rows/s., 5.38 GB/s.) против 54 rows in set. Elapsed: 21.548 sec. Processed 2.99 billion rows, 89.79 GB (138.90 million rows/s., 4.17 GB/s.) памяти одинаково использовано, первый как у вас запрос, а во втором SELECT field, count() FROM T GROUP BY field

Vladimir
27.04.2018
13:38:42
а как правильно сравнить эти два запроса?

Kirill
27.04.2018
13:39:18
а как правильно сравнить эти два запроса?
Память в логах будет видно, либо во free

Vladimir
27.04.2018
13:40:43
а о чем говорят цифры 89.79 GB ?

Alexey
27.04.2018
13:41:43
О прочитанном объеме данных на диске

Daniel
27.04.2018
13:41:51
о том, что CH молодец и не стал лопатить вашу терабайтовую базу, а прошёлся по какому-то заранее сгруппированному на диске куску

Vladimir
27.04.2018
13:44:21
Спасибо! А как тогда монжо сравнить два запроса?

?
27.04.2018
13:54:10
то чувство, когда ты обновил бинарник, а там изменилась логика джойнов ?
уфф.. причем в двух местах ?? "я что-то апдейтнул и оно сломалось" ?

Vladimir
27.04.2018
14:09:22
О прочитанном объеме данных на диске
а как его можно уменьшить? Наверно вопрос был изначально в этом.

Kirill
27.04.2018
14:14:41
а как его можно уменьшить? Наверно вопрос был изначально в этом.
Никак, вы либо читаете с диска нужные вам данные, либо нет

Alexey
27.04.2018
15:43:28
а как его можно уменьшить? Наверно вопрос был изначально в этом.
2.99 billion rows = 89.79 GB. Как уменьшить? Читать меньше строк.

Konstantin
27.04.2018
15:47:00
И столбцов

Alexey
27.04.2018
15:51:14
и данных

Google
Tima
27.04.2018
15:59:59
Возможно поможет создание материализованой вьюхи

Ivan
27.04.2018
18:36:11


Nord
27.04.2018
21:18:52
Добрый день подскажите как к дате прибавить несколько дней в запросе ?

Андрей
27.04.2018
21:21:36
86400 * n?

papa
27.04.2018
21:23:26
addDays

Андрей
27.04.2018
21:25:13
В документации нет такой, видимо, в списке служебных :( Я в графане вот как выше написал делал.

Nord
27.04.2018
21:26:03
Андрей
27.04.2018
21:26:33
Да, дата - целое. Секунды.

Timur
28.04.2018
04:24:41
Alexey hi!

Alexey
28.04.2018
04:26:14
Timur да -) сразу после митапа решил вот. Поставил телегу только ради этого канала пока. Кстати было огонь, мне понравилось

Vladimir
28.04.2018
07:14:49
Подскажите пожалуйста, в каком формате должен быть текст, чтобы его можно бло залить в Array(tuple)? Пока просто массив со строками не получается залить, пробую вот так:



Vladimir
28.04.2018
07:18:53
а пробовал массив обернуть в " " ?
Да, но тогда он совсем не парсится, говорит что это просто строка

LeiDruid
28.04.2018
07:19:35
А нужно ли настраивать одношардовый кластер в конфиге, если нужна только реплика ?

LeiDruid
28.04.2018
07:20:33
В смысле нужна просто реплика, без distributed

Vladimir
28.04.2018
07:20:47
Ожидалась одинарная кавычка
Спасибо, сейчас попробую

Может проще использовать Nested-тип?
Это массив массивов? Можно в принципе

Google
Tima
28.04.2018
07:22:30
Это массив массивов? Можно в принципе
Это таблица в одной колонке. По факту там на самом деле несколько колонок типа Array(...)

Konstantin
28.04.2018
07:23:01
Спасибо, сейчас попробую
Володь, замени все " на ' внутри массива

insert into arrtest VALUES (['1','2','q'])

Vladimir
28.04.2018
07:23:24
Это таблица в одной колонке. По факту там на самом деле несколько колонок типа Array(...)
Тоже вариант. Надо только почитать как оттуда селектить

Tima
28.04.2018
07:25:18
Тоже вариант. Надо только почитать как оттуда селектить
Как-то так SELECT nestedField.subField1, nestedField.subfield2, ...

Как-то так SELECT nestedField.subField1, nestedField.subfield2, ...
Только значения будут типа Array

Vladimir
28.04.2018
07:25:54


Одинарная кавычка не спасла

Konstantin
28.04.2018
07:26:28
так теперь весь массив оберни в "

Vladimir
28.04.2018
07:26:32
Только значения будут типа Array
Спасибо большое, почитаю ещё и попробую. А какой формат на вход эта штука предполагает?

Konstantin
28.04.2018
07:27:05
у тебя если нет закрытия поля, ломается csv на следующей запятой

Vladimir
28.04.2018
07:27:51
у тебя если нет закрытия поля, ломается csv на следующей запятой
Неее, там нигде теперь нет двойных - так что должно быть ок

Konstantin
28.04.2018
07:28:19
как ок то? у тебя парсятся столбцы по запятам

Konstantin
28.04.2018
07:28:49


Оберни весь массив в " или в tabSeparated делай, как выше предложили

Vladimir
28.04.2018
07:29:47


Но я попробую :)

Блин, прокатило!

Konstantin
28.04.2018
07:31:02
но запятая, Володь, колонки же делятся по запятым

Google
Konstantin
28.04.2018
07:31:22
а двойная ковычка говорит игнорировать запятые до следующей двойной ковычки

Tima
28.04.2018
07:31:32
Лучше TabSepareted для КХ я не могу посоветовать



Vladimir
28.04.2018
07:33:52
Лучше TabSepareted для КХ я не могу посоветовать
Я как правило его и использую, но почему-то в какой-то момент сознательно перешёл на CSV, но вот сходу не могу вспомнить почему

Vladislav
28.04.2018
07:54:49
потому что в данных могут быть табы?

Daniel
28.04.2018
08:01:53
Лучше TabSepareted для КХ я не могу посоветовать
согласен. единственная проблема которая может быть - это корявый TSV в /r в конце (Infobright таким плюётся без возможности изменить это поведение) а также комбинации, когда в строках в конце колонки есть символ \ . Накладывается \\t и всё ломается, надо седом менять \ на \\, благо в нашем кейсе это было не критично

Vladimir
28.04.2018
08:17:28
потому что в данных могут быть табы?
И переносы строк, видимо

Vladislav
28.04.2018
08:18:43
вроде как csv/tabsep по опредилению не поддерживают переносы строк

Alexander
28.04.2018
08:29:59
select toDateTime(now(), 'Europe/Moscow') а я точно правильно текущее время Мск получаю?)

LeiDruid
28.04.2018
08:31:09
А нужно ли настраивать одношардовый кластер в конфиге, если нужна только реплика ?

В смысле нужна просто реплика, без distributed

Nikolai
28.04.2018
09:17:33
нет, Replicated таблицы работают независимо

Mikhail
28.04.2018
09:26:56
Подскажите, пожалуйста Нужен пример настройки словаря (my_dictionary.xml) для словаря str -> datetime из csv-файла.

вроде получилось, но если у кого-то будет пример, не помешает

Tima
28.04.2018
09:38:10
Подскажите, пожалуйста Нужен пример настройки словаря (my_dictionary.xml) для словаря str -> datetime из csv-файла.
Извините за вопрос, а что вас смущает в описании из документации? Может есть конкретный вопрос?

Mikhail
28.04.2018
09:45:18
Из документации пришлось все собирать. Как ключ правильно задать и т.п. Сейчас уже сам написал конфиг. Спасибо.

Страница 513 из 723