@clickhouse_ru

Страница 202 из 723
Alexey
13.07.2017
12:29:06
но так же говорил, что проблемой обычно это не является

M
13.07.2017
12:29:12
каждые 10 минут по 40-100 лямов

Alexey
13.07.2017
12:29:12
и что все продолжает работать стабильно

Alex
13.07.2017
12:29:45
Уважаемые, подскажите, пожалуйста, следующее - есть Distributed таблица. Она создана путём перечисления колонок (без использования as $local_table_name). При инсерте в Distributed я указываю в ней принудительно колонки, в которые идёт вставка. Вопрос - маппятся ли эти колонки по именам в $local_table?

Google
Alexey
13.07.2017
12:31:07
Slowly growing number of watches is known issue. You don't have to worry, it should not cause any problems.

Adam
13.07.2017
13:38:48
Привет. Вопрос. Правильно ли я понимаю, что при использовании Distributed таблицы, состоящей из одного шарда с несколькими репликами, запросы будут распараллеливаться только случае, если задан ключ для сэмплирования? А то из документации это не совсем очевидно.

Alexey
13.07.2017
13:43:21
Здравствуйте. Возникло затруднение с времем. Datetime не поддерживает миллисекунды и ограничивает все секундами. Нашел ответ, где предлагают хранить отдельно миллисекунды, либо uint64 писать timestamp. Может есть более изящное решение с учетом, что нужно делать выборки по интервалу времени (с ... по ...)?

Vsevolod
13.07.2017
13:48:08
ну вот нам это тоже очень нужно (только с наносекундами)

и еще возможность загружать csv, пропуская ненужные колонки

Vsevolod
13.07.2017
13:54:06
позволит, но конструкциями вида toInt64(toDateTime('blabla')) * 1e9 + x ...

выглядит мерзковато

Dmitriy
13.07.2017
13:55:07
и еще возможность загружать csv, пропуская ненужные колонки
выглядит слишком специфичным, лучше отдельным скриптом такое сделать

Vsevolod
13.07.2017
13:55:50
ну, вот нам это очень нужно. отдельным скриптом я это уже делаю, но он довольно задумчиво жует 30 гигов данных

ну или плюнуть и написать это вжух на крестах каких с openmp

не знаю, что тяжелее - запатчить ch, или написать свой велосипед

Google
Vsevolod
13.07.2017
13:57:15
просто если я не один такой счастливый, то могу поработать над патчем, наверное

Vladimir
13.07.2017
14:38:22
ну или плюнуть и написать это вжух на крестах каких с openmp
на Го, как промежуточный вариант между питоном и крестами )

должно довольно просто быть

Vsevolod
13.07.2017
14:39:23
мне кресты проще го

anyway, посмотрю, что можно придумать на выходных

Edouard
13.07.2017
14:45:08
ну вот вас пока двое кажется )
Нет, не двое. Тоже получаю эту, "радость" ..

Vladimir
13.07.2017
14:48:12
еще вопросик по запросам есть такая таблица "CREATE TABLE IF NOT EXISTS Measures" + "(" + "account String," + "id String," + "date Date, " + "timestamp UInt64," + "value Float32," + "tags Nested (" + "name String," + "value String" + " )" + ") Engine = MergeTree(date, (account, id, timestamp), 8192);" tags обычно 3-5 штук хочется достать например уникальные значение тега с именем 's:h' запрос такой придумался SELECT distinct(arrayElement(tags.value,indexOf(tags.name,'s:h'))) FROM Measures where account='xyz' работает 200 секунд. кто-то видит где затуп или на большее и не расчитывать? если не ускорить то видимо придется вторую таблицу заводить, с другой схемой чтобы такие запросы быстро отрабатывалт (пока схему не думал)

Dmitriy
13.07.2017
14:52:08
а данных много?

Vladimir
13.07.2017
14:53:08
9 миллиардов строк пока (это примерно за сутки объем), 180 GB

вот что в конце говорит 282 rows in set. Elapsed: 213.763 sec. Processed 1.28 billion rows, 279.86 GB (6.01 million rows/s., 1.31 GB/s.)

Artem
13.07.2017
14:55:42
Когда пробую загрузить данные таким запросом: python metrica_logs_api.py -source hits -start_date 2017-07-03 -end_date 2017-07-09 - выдает ошибку ModuleNotFoundError: No module named 'StringIO'

Vladimir
13.07.2017
14:57:25
"A little searching shows that the StringIO module is gone in Python 3 and has been replaced with the io module, from whence io.StringIO should be imported."

может версию питона откатить (может глупо)

Artem
13.07.2017
14:58:38
последнюю качал

3,6

Vladimir
13.07.2017
14:59:06
так в этом и затык согласно интернету

Dmitriy
13.07.2017
14:59:10
вот что в конце говорит 282 rows in set. Elapsed: 213.763 sec. Processed 1.28 billion rows, 279.86 GB (6.01 million rows/s., 1.31 GB/s.)
я не спец, но судя по описанию он без индекса смотрел все строки в поисках тега. Надо искать документацию как оно индексирурет строки. В sql для подстрок есть оператор LIKE, я не знаю, работает ли он тут

Vladimir
13.07.2017
15:01:56
без индекса конечно. вторичных индексов ведь нет, а это поле не в первичном ключе.

Vladimir
13.07.2017
15:04:14
"A little searching shows that the StringIO module is gone in Python 3 and has been replaced with the io module, from whence io.StringIO should be imported."
такие простые вещи просто костыльнуть чем-то типа: try: import StringIO except ImportError: import io.StringIO

Google
Vladimir
13.07.2017
15:04:49
я пока вижу 3 способа как поправить 1. переписать запрос, но как непонятно :) 2. завести 2 таблицу и писать туда данные параллельно, схема должнв быть оптимизирована под такие запросы 3. маппинги добавить и хранить не строки в tags а их id, но мне так совсем не нравится тк поддерживать маппинги целостными и актуальными будет тот еще квест

Vladimir
13.07.2017
15:40:25
как это сделать?
я про код в питоне

если это всего лишь переименование модуля, то заменить твой import StringIO на что-то похожее на то что выше

и он будет и на 3 и на 2 питоне работать тогда

Artem
13.07.2017
15:41:05
я вчера только его поставил, вообще не понимаю что куда

ну да. там питон 2,7 надо, а у меня 3,6 ((

переставлю

Artem
13.07.2017
16:02:08
Traceback (most recent call last): File "metrica_logs_api.py", line 2, in <module> import logs_api File "logs_api_integration-master\logs_api.py", line 1, in <module> import requests ImportError: No module named requests

поставил питон 2,7, теперь такое

Tima
13.07.2017
16:04:10
Этот модуль был добавлен в третьем питоне. Возможно он есть для 2.7 в виде модуля

Artem
13.07.2017
16:12:21
а, точно, pip

Александр
13.07.2017
16:14:26
А кто подскажет, на Debian есть пакеты готовые?

Konstantin
13.07.2017
16:15:14
а, точно, pip
в репах большинства дистрибутивов же. За pip'анье по рукам линейкой надо бить

Vsevolod
13.07.2017
16:17:49
hum, а вот еще такая хотелка: чтобы при чтении csv можно было бы задавать implied date

а то у нас сами по себе csv по дням разбиты

(и не надо про питон - он у меня сейчас уныло жрет память и тормозит)

когда там 144 ядра и тер памяти. кликхаус бы эту всю фиговину сжевал бы за минуты (ограничиваясь только скоростью ssd)

Google
Bulat
13.07.2017
16:21:03
awk?

кажется, что на плюсах сильно быстрее, чем split + xargs awk не получится

Vsevolod
13.07.2017
16:23:03
ну, я достаточно писал на сишечке и плюсах, чтобы мне так не казалось

тем более, что чтение csv прекрасно себе параллелится набором автоматов

ну да, с newlines будет некая жопа, но на то есть sse4.2, когда можно сделать seek в произвольный кусок файла и найти там [\r\n]

да даже без sse, в принципе, найти конец строки не проблема

Artem
13.07.2017
16:30:42
Traceback (most recent call last): File "metrica_logs_api.py", line 2, in <module> import logs_api File "logs_api_integration-master\logs_api.py", line 6, in <module> import clickhouse File "logs_api_integration-master\clickhouse.py", line 7, in <module> config = utils.get_config() File "logs_api_integration-master\utils.py", line 63, in get_config config = json.loads(input_file.read()) File "C:\Python27\lib\json\__init__.py", line 339, in loads return _default_decoder.decode(s) File "C:\Python27\lib\json\decoder.py", line 364, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "C:\Python27\lib\json\decoder.py", line 382, in raw_decode raise ValueError("No JSON object could be decoded") ValueError: No JSON object could be decoded

Admin
ERROR: S client not available

Artem
13.07.2017
16:30:49
теперь такое

что это значит?

Dmitriy
13.07.2017
16:33:18
мне кажется стоит переустановить кликхаус, что-то могло испортится после предыдущих запусков не на том питоне

Artem
13.07.2017
16:36:14
а попытка запуска поломанного кликхауса могла привести к поломне винды, и чтобы время не терять лучше всё сразу переустановить

?

Dmitriy
13.07.2017
16:37:13
нет, ну вот судя по логам он пытается читать какой-то конфиг который был неправильно сгенерирован (это я ванговать пытаюсь)

Amir
13.07.2017
16:40:38
всем привет, первое знакомство с КХ. пока только теория подскажите есть ли визуализатор данных схожий с функционалом saiku на КХ? интересует возможность строить запросы SQL путем переноса разрезов и мер в область строк/столбцов для построения олап-кубов на лету?

просто есть готовые OLAP кубы работающие на saiku хочется перенести на КХ и сбросить оковы многих ограничений)

Vladimir
13.07.2017
16:43:51
что это значит?
Что то что ты скормил на вход не json

Конфига видимо

Artem
13.07.2017
16:49:14
из тех json файлов что я сам правил только конфиг

Vladimir
13.07.2017
16:51:52
из тех json файлов что я сам правил только конфиг
Ну вот видимо где то ошибка в нем

Google
Artem
13.07.2017
16:52:30
он скопирован из примера, странно, я там только ключ к апи поменял и номер счетчика

Vladimir
13.07.2017
17:04:26
Dmitriy
13.07.2017
17:04:36
скопируй и в валидатор онлайновый кинь

Alexander
13.07.2017
19:13:40
1.1.54236 : Unknown type Nullable - обновиться?

Алексей
14.07.2017
03:09:23
Клуб людей, которые всегда и везде делают деньги!!! ????? Делюсь мануалами, практическими советами и темами, которые проверены лично на моем опыте и опыте моих близких! ?Вступайте в мой паблик прямо сейчас: @moneycl

Eduard
14.07.2017
04:52:04
Как забанить этих чертей?

Алексей
14.07.2017
04:54:00
@justedro cходить к ним в группу и нажать report spam

Eduard
14.07.2017
04:58:42
Vladimir
14.07.2017
07:18:19
Есть таблица, одна колонка это массив строк, как бы это distinct по значениям с массиве построить? что-то не придумывается

tags.name и tags.value это масссивы прдумывается это SELECT distinct(tags.name) FROM Measures where account='xyz' and arrayElement(tags.value,indexOf(tags.name,'s:i'))='4291' но оно уникальные комбинации значении tags.name возвращает, не то немного

Vsevolod
14.07.2017
07:21:06
а если этот массив слить во временную таблицу или view, а затем по нему уже сделать select distinct?

а если нужны уникальные массивы строк, а не отдельные строки - то засунуть в эту временную таблицу хеш от строк в каждом массиве

а потом поджоинить

Ilya
14.07.2017
07:21:46
Arrayjoin на поле а на результат уже distinct или groupby

Vladimir
14.07.2017
07:21:54
сливать наверное не получится это то все в режиме реального времени надо чтобы отвечало

Ilya
14.07.2017
07:23:20
Select arrayjoin(field) as f from table group by f

Vladimir
14.07.2017
07:23:23
а то у меня вот эти условия с джойном не получилось наложить where account='xyz' and arrayElement(tags.value,indexOf(tags.name,'s:i'))='4291'

заработало, правда медленно, спсб

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