@clickhouse_ru

Страница 120 из 723
prll
17.04.2017
14:14:30
версия кликхауса какая?

Andrey
17.04.2017
14:40:55
1.1.54165

prll
17.04.2017
14:44:21
https://groups.google.com/forum/#!topic/clickhouse/WfS_9xi6B5A

OPTIMIZE FINAL was fixed in version 1.1.54188

Google
Andrey
17.04.2017
14:45:07
Спасибо, буду апдейтиться

Обновился до 1.1.54198 - результата не добился. Всё равно в трейс вылетает эта ошибка.

Bob
17.04.2017
15:03:58
Побились данные, есть программа на С которая может "отрезать" побитую часть: https://github.com/ludv1x/ClickHouse/tree/broken-part-cutter/utils/broken-part-cutter

Andrey
17.04.2017
15:05:34
Как я понимаю, в таком случае данные побиты и на реплике?

Maksim
17.04.2017
15:47:44
Добрый день. подскажите делаю select toDateTime(eventTime) group by toHour(eventTime) Column eventTime is not under aggregate function and not in GROUP BY ожидается - в select вывести дату, а сгруппировать по часу

Igor
17.04.2017
15:49:02
группируйте по дате и по часу

а вообще, я ж вроде говорил уже про https://clickhouse.yandex/reference_ru.html#toStartOfHour

он не будет правильнее в этом случае?

Maksim
17.04.2017
15:50:55
группируйте по дате и по часу
я просто не пойму почему нельзя просто вывести поле а сгруппировать по части данных этого поля. зачем группировать по секундно и потом еще по часу ?

Igor
17.04.2017
15:51:11
так вы и не группируете посекундно

Maksim
17.04.2017
15:51:22
так мне и не надо

только по часу

так вы и не группируете посекундно
GROUP BY eventTime, toHour(eventTime), ? не уж то так надо писать?

Google
Igor
17.04.2017
15:52:56
нет. говорю, что не надо.

Maksim
17.04.2017
15:53:29
нет. говорю, что не надо.
ну тогда как вывести нормальную дату в виде timestamp а сгруппировать только по часу?

Igor
17.04.2017
15:53:30
вы хотите по часу для каждой даты или по часу в целом (за месяц например), чтоб в итоге 24 строки получилось?

Igor
17.04.2017
15:55:15
тогда добавьте дату в group by, если она нужна, и в where, если не нужна.

Igor
17.04.2017
15:57:59
ок. у вас отчет по одной дате или по диапазону?

papa
17.04.2017
15:58:06
а работает он так потому, что в общем случае вы не можете вывести из отношения функциональную зависимость, в результате которой ответ становится однозначным.

papa
17.04.2017
16:01:57
вы делаете запрос select toDateTime(eventTime) ... group by toHour(eventTime)что вы ожидаете получить

Igor
17.04.2017
16:02:14
+1, непонятно

toDateTime(eventTime) никакого эффекта не даст, eventTime и так DateTime, полагаю

papa
17.04.2017
16:02:34
например у вас данные 00:00:00 , 00:00:01

Maksim
17.04.2017
16:04:26
например у вас данные 00:00:00 , 00:00:01
мне нужно сгруппировать по часу посчитав для этого часа сумму записей. поэтому хочу к часу привести но вывести полную дату

papa
17.04.2017
16:05:21
что такое полная дата

17/04/2017 - полная дата?

Maksim
17.04.2017
16:06:02
это Y-m-d h:i:s

Google
Maksim
17.04.2017
16:06:07
просто вывести datetime поле

но группировку осуществить по часу

papa
17.04.2017
16:07:22
очень хорошо. у вас есть две строки eventTime 2000-01-01 00:00:00 2000-01-01 00:01:00что должен выдать ваш запрос

Igor
17.04.2017
16:07:28
:) SELECT toStartOfHour(timestamp) AS hr, count() FROM click WHERE timestamp BETWEEN '2017-04-13 20:00:00' AND '2017-04-14 03:00:00' GROUP BY hr ORDER BY hr ┌──────────────────hr─┬─count()─┐ │ 2017-04-13 20:00:00 │ **** │ │ 2017-04-13 21:00:00 │ **** │ │ 2017-04-13 22:00:00 │ **** │ │ 2017-04-13 23:00:00 │ **** │ │ 2017-04-14 00:00:00 │ **** │ │ 2017-04-14 01:00:00 │ **** │ │ 2017-04-14 02:00:00 │ **** │ └─────────────────────┴─────────┘

Igor
17.04.2017
16:52:25
уверены, что дело в этой функции?

над каким столбцом делаете, че там за данные? может проще в String хранить?

Maksim
17.04.2017
16:53:15
может и проще. просто когда результат возвращается от кх то там где строки куча байт символов

поэтому хочется вырезать их чтобы получить нормальную строку

вот даже сравнил вешаю на одно поле toStringCutToZero и получаю в 2 раза дольше выполнение запроса

Igor
17.04.2017
16:55:14
¯\_(ツ)_/¯ если хочется нормальную строку - лучше хранить данные в нормальных строках а toString так же медленно работает?

Maksim
17.04.2017
16:55:16
хотя на счет в 2 раза дольше. это как-то случайно так вышло

помоему они одинаковы по производительности

Igor
17.04.2017
16:57:30
ну если одинаково, но медленно/крашится - возможно, имеет смысл перезалить данные, заменив fixedstring в string

если fixedstring вам по факту не нужен

Maksim
17.04.2017
17:02:27
ладно будем думать)) но тут есть какой-то баг крашится сервак из-за применения этих функций например два поля fixedString и два поля пытаешься обработать функцией в итоге сыпется сервак. решение - просто сделал toString на одно из полей

papa
17.04.2017
17:03:13
пример схемы, пример запроса?

Maksim
17.04.2017
17:03:37
пример схемы, пример запроса?
toString(applicationName) as applicationName, toStringCutToZero(os) as os,

Google
Igor
17.04.2017
17:03:38
и лог выполнения запроса не помешает наверн

Maksim
17.04.2017
17:04:07
applicationName String, os FixedString(70)

Igor
17.04.2017
17:04:20
toString(string) это хорошо

Maksim
17.04.2017
17:04:26
ну тут вроде все правильно

сча найду это поле

а вот я понял я на поле типа String вешал toStringCutToZero

и это вызывает краш сервера

никакого эксепшена ничего. просто висит и пытается выполнить запрос как в это время сервер уже сдох)

papa
17.04.2017
17:06:23
SELECT toStringCutToZero(applicationName)?

Maksim
17.04.2017
17:07:17
SELECT toStringCutToZero(applicationName)?
да это вызвало падение сервера applicationName - String

Igor
17.04.2017
17:11:05
ну, видимо оперативки не хватает и запрос по меньшему периоду нужен? (хотя ваще странно)

papa
17.04.2017
17:11:35
да это вызвало падение сервера applicationName - String
что-то с первого раза не воспроизводится. а в логах что?

Alexey
17.04.2017
17:12:22
Я уже посмотрел и воспроизвёл - это баг.

Maksim
17.04.2017
17:14:09
?

Alexey
17.04.2017
20:45:05
Мы уже знаем, что следующий митап будет в Екб где-то в середине мая. Сейчас выбираем темы для докладов.

Рулон
18.04.2017
05:46:26
Доброе утро! Подскажите пожалуйста, а куда надо положить csv файлик чтобы загрузить его в КХ? Спасибо

Igor
18.04.2017
05:47:54
в смысле - куда? вы хотите загрузить clickhouse-clientом или по HTTP?

Рулон
18.04.2017
05:48:45
Вот в доке написано cat <<_EOF | clickhouse-client --database=test --query="INSERT INTO test FORMAT CSV";

у меня файлик называется dump.csv

Igor
18.04.2017
05:50:17
можно cat dump.csv | clickhouse-client ...

Google
Igor
18.04.2017
05:50:59
~ ❯ clickhouse-client -q 'CREATE TABLE test (s String, x Int64) ENGINE = TinyLog;'; ~ ❯ cat test.csv "hello",123 "world",456 ~ ❯ cat test.csv | clickhouse-client -q 'INSERT INTO test FORMAT CSV'; ~ ❯ clickhouse-client -q 'SELECT * FROM test FORMAT PrettyCompactNoEscapes'; ┌─s─────┬───x─┐ │ hello │ 123 │ │ world │ 456 │ └───────┴─────┘

Igor
18.04.2017
06:04:32
ну у меня test.csv, у вас - dump.csv =)

если он в той же папке, должно быть достаточно

если не в той же, то можно относительный/полный путь до файла указать, соответственно

Рулон
18.04.2017
06:06:10
если он в той же папке, должно быть достаточно
Вот мой и вопрос был )) в той же папке, это какой ))

Igor
18.04.2017
06:06:22
в той же, в которой сейчас открыт терминал

если набрать команду pwd, отобразится текущая папка

https://www.digitalocean.com/community/tutorials/how-to-use-cd-pwd-and-ls-to-explore-the-file-system-on-a-linux-server

Рулон
18.04.2017
06:13:40
в той же, в которой сейчас открыт терминал
Спасибо взлетело. А команда "cat" нормально прожует файл в 150 гб? или есть более оптимизированные?

Igor
18.04.2017
06:14:14
команда cat может и нормально прожует, а вот сервер уже не факт. лучше разбить на файлики поменьше. по 100к строчек, например. или по миллиону. вдруг еще ошибки при парсинге CSV будут

и лучше clickhouse-compressorом прогнать, наверное

Рулон
18.04.2017
06:15:42
Благодарю ?

Kirill
18.04.2017
06:15:45
Кстати, а какой гошный драйвер сейчас считается тру? Или пока не определились?
тут нет тру или не тру, если вы, например, хотите использовать встроенные функции CH для вставки данных то используйте github.com/roistat/go-clickhouse т.к. он работает поверх http и просто пересылает запрос на сервер, напротив https://github.com/kshvakov/clickhouse использует "нативный" формат который требует преобразования данных на клиенте, т.е. если поле FixedString(16) то он и ждет 16 байт, а не UUIDStringToNum('uuid-uuid'), но он позволяет вставлять данные в 2-3 раза быстрее чем через http интерфейс если его использовать в обход гошного интерфейса https://github.com/kshvakov/clickhouse/blob/master/examples/direct.go

Кстати, а какой гошный драйвер сейчас считается тру? Или пока не определились?
и еще, https://github.com/kshvakov/clickhouse поддерживает стандартный гошный интерфейс для работы с базами данных, конечно если вам это важно

Andrey
18.04.2017
06:45:21
Доброе утро, есть ли возможность проставить DEFAULT для столбца в Nested? create table test2 ( id Int8 , date Date, items Nested ( name String DEFAULT 'None', type String DEFAULT 'None') ) ENGINE = ReplacingMergeTree(date, (id), 8192) Syntax error: failed at position 77 (line 6, col 17)

Igor
18.04.2017
06:47:51
Есть неудобный способ: CREATE TABLE table_test ( date Date, isp.name Array(String), isp.ispHash Array(Int64) DEFAULT arrayMap(x -> cityHash64(x), isp.name) ) ENGINE = MergeTree(date, date, 8192) (несколько столбцов-массивов с общим префиксом до точки в имени, полностью эквивалентны Nested структуре).

Вокруг составных имён поставьте обратные кавычки (их съел Telegram).

Andrey
18.04.2017
07:23:33
Спасибо большое, заработало! Есть ещё один (глупый) вопрос, но я с ним не могу разобраться. Есть таблица: CREATE TABLE test.test ( ts String DEFAULT \'None\', ts2 String DEFAULT \'None\', ti2 Int32 DEFAULT CAST(0 AS Int32), date Date) ENGINE = ReplacingMergeTree(date, ti2, 8192) Как правильно инсёртить пустые строки? В документации не нашёл примера. :) insert into test values ( 'kjh',,,'1990-08-14') INSERT INTO test VALUES Exception on client: Code: 62. DB::Exception: Cannot parse expression of type String here: ,,'1990-08-14') Connecting to database test at localhost:9000. Connected to ClickHouse server version 1.1.54198. Заранее спасибо!

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