
Denys
14.04.2017
11:49:10
having?

Maksim
14.04.2017
11:51:31

Alex
14.04.2017
12:00:51

Google

Vladislav
14.04.2017
12:01:06
да, я нагуглил её
что-то надо сообщить дополнительно? могу в ту же тему в гугл-группах

Alex
14.04.2017
12:02:57
Как объявляете materialized view и какой запрос делаете.

Vladislav
14.04.2017
12:05:58
это обычный view:
CREATE VIEW analytics.apps_events ( app_name String, app_version String, os_name String, device_id String, event_time DateTime, event_date Date, event_name String, event_value String, screen_name String) AS SELECT app_name, app_version, os_name, device_id, event_time, event_date, event_name, event_value, screen_name FROM analytics.apps_clickstream WHERE isNotNull(event_name) OR isNotNull(event_value)
запрос:
SELECT splitByChar('/', screen_name)[1] as sn, event_date, count(*) FROM analytics.apps_events where (...) group by sn, event_date

Maksim
14.04.2017
12:13:21
ребят скажите плиз есть не заполненные поля string пустые. как проверить на не пустые поля?

Igor
14.04.2017
12:13:43
!= '' не подходит?

Roman
14.04.2017
12:14:05
https://clickhouse.yandex/reference_ru.html#empty

Maksim
14.04.2017
12:17:39

Igor
14.04.2017
12:17:51
может там пробелы? о_О length(city) че покажет?

Maksim
14.04.2017
12:19:21

Igor
14.04.2017
12:19:28
а, так сразу бы и сказали
а то выше про String говорилось

Google

Maksim
14.04.2017
12:20:17
я еще пока не привык)) это стандартное поведение fixedString ?

Igor
14.04.2017
12:20:30
да
см. toString / toStringCutToZero

Maksim
14.04.2017
12:22:30

Alex
14.04.2017
12:42:14
это обычный view:
CREATE VIEW analytics.apps_events ( app_name String, app_version String, os_name String, device_id String, event_time DateTime, event_date Date, event_name String, event_value String, screen_name String) AS SELECT app_name, app_version, os_name, device_id, event_time, event_date, event_name, event_value, screen_name FROM analytics.apps_clickstream WHERE isNotNull(event_name) OR isNotNull(event_value)
Удалось повторить так:
:) create table t1 (s1 Nullable(String)) engine=TinyLog
:) create view t1_v1 (s1 String) AS select s1 from t1
:) insert into t1 values ('aaa')
:) select splitByChar('/', s1) from t1_v1
То есть у вас наверно столбец screen_name Nullable(String) в таблице, но String во view

Vladislav
14.04.2017
12:43:13
да, именно так
спасибо, поправлю вьюху
а разве это не ок, когда я проверяю на null, и если не null пишу в колонку не-nullable типа?

Alex
14.04.2017
12:48:19
По крайней мере такое мистическое сообщение об ошибке точно не ок :)

Vladislav
14.04.2017
12:49:48
еще клиент иногда крашится при таких запросах )

Irina
14.04.2017
12:57:22
Подскажите, пожалуйста, как агрегировать данные по временному интервалу? Например, надо считать среднее по данным за каждые 5 секунд и записывать в новую таблицу? Можно ли написать агрегирующую функцию?

Dmitry
14.04.2017
13:01:39
Есть специальный движок таблиц GraphiteMergeTree

Roman
14.04.2017
13:01:55
попробуйте так
SELECT
(intDiv(toUInt32(EventTime), 5) * 5) * 1000 AS t,
count(*)
FROM requests
GROUP BY t
ORDER BY t ASC

Dmitry
14.04.2017
13:02:28
В документации его пока нет, но можно посмотреть вот тут https://github.com/yandex/graphouse/blob/master/doc/install.md#clickhouse

papa
14.04.2017
13:03:15

Andrey
14.04.2017
13:33:22
А в чем отличие движка GraphiteMergeTree от materialized view на движке agregatingmergetree?
Или это задел на будущее когда будут delete?

Pavel
14.04.2017
14:11:30
заменил InfluxDB на CH, нагрузка упала с 196% до 5% CPU

Roman
14.04.2017
14:12:43
Можете теперь рядом сервер Lineage поднять ?

Pavel
14.04.2017
14:12:52
не, я уже биткойны майню

Edouard
14.04.2017
14:13:59
@pavel_odintsov ?

Google

Pavel
14.04.2017
14:15:54
@openbsod я как раз вам письмо написал :)

Maksim
14.04.2017
14:16:57
Скажите пожалуйста как сгруппировать по часу поле timestamp ?

Igor
14.04.2017
14:17:40
toStartOfHour(timestamp)?
https://clickhouse.yandex/reference_ru.html#toStartOfHour

Maksim
14.04.2017
14:19:15

papa
14.04.2017
14:25:12
а какие варианты

Maksim
14.04.2017
14:36:52
что-то не выходит совсем..
SELECT
toDateTime(eventTime) as hour,
...
FROM ...
GROUP BY ads_start_id
Column eventTime is not under aggregate function and not in GROUP BY
ожидается что поле будет в groupby ?

Igor
14.04.2017
14:38:00
почему todatetime

f1yegor
14.04.2017
14:43:02
<Error> ExternalDictionaries: Cannot create external dictionary 'products' from config path /etc/clickhouse-server/products_dictionary.xml: Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = Not found: dictionary.structure.attribute.null_value, e.what() = Not found
<structure>
<!-- Описание столбца, являющегося идентификатором (ключом) словаря. -->
<key>
<attribute>
<name>container_id</name>
<type>String</type>
</attribute>
<attribute>
<name>region_id</name>
<type>UInt16</type>
</attribute>
<attribute>
<name>item_id</name>
<type>String</type>
</attribute>
</key>
<attribute>
<name>price</name>
<type>Float32</type>
<null_value>0.0</null_value>
</attribute>
<attribute>
<name>rating</name>
<type>Float32</type>
<null_value>0.0</null_value>
</attribute>
</structure>


Maksim
14.04.2017
14:46:13
ребят что может значит эта ошибка? может кто сталкивался
Code: 173, e.displayText() = DB::Exception: Allocator: Cannot mmap., errno: 12, strerror: Cannot allocate memory, e.what() = DB::Exception
делаю запрос около 15 группировок в таблицу 22 млн записей. неужели памяти оперативной не хватате ?

Alexey
14.04.2017
14:50:19
именно

Maksim
14.04.2017
14:51:14
нихрена се.. прожорвилвый кх

Alexey
14.04.2017
14:52:24
Уважаемые разработчики, есть инфа по поводу старого и грустного бага? https://github.com/yandex/ClickHouse/issues/127
очень хочется MATERIALIZED VIEW с подзапросами и join'ами

Maksim
14.04.2017
14:54:13
сдох после запроса сервер) капец
наверное из-за опции у сервера на кол. выделяемой оперативной памяти - там значение превышает количество установленной на сервере памяти и поэтому жрет все а потом unix начинает килять процессы и падает сервер

Alexander
14.04.2017
15:10:15

f1yegor
14.04.2017
15:10:51
ага, в атрибуты ключа тоже указывал

Alexander
14.04.2017
15:11:31
В ключ не надо, там null не может быть

Google

f1yegor
14.04.2017
15:13:21
заработало. my bad
почему в ключе не может быть null?

Alexander
14.04.2017
15:16:02
Ну, это идеологически не правильно ) И насколько я понял Алексея, не поддерживается сейчас


Dmitry
14.04.2017
16:03:40
У меня тоже CH постоянно умирает:
clickhouse-server(47269,0x700008df2000) malloc: *** error for object 0x140775000: pointer being realloc'd was not allocated
*** set a breakpoint in malloc_error_break to debug
2017.04.14 19:03:09.694920 [ 5 ] <Error> BaseDaemon: ########################################
2017.04.14 19:03:09.694945 [ 5 ] <Error> BaseDaemon: (from thread 4) Received signal Abort trap: 6 (6).
2017.04.14 19:03:09.755499 [ 5 ] <Error> BaseDaemon: 1. 1 libsystem_kernel.dylib 0x00007fffc3952dda __pthread_kill + 10
2017.04.14 19:03:09.755526 [ 5 ] <Error> BaseDaemon: 2. 2 clickhouse-server 0x000000010f44cf20 _ZN4Poco10ThreadImpl13runnableEntryEPv + 96
2017.04.14 19:03:09.755533 [ 5 ] <Error> BaseDaemon: 3. 3 libsystem_pthread.dylib 0x00007fffc3a3aabb _pthread_body + 180
2017.04.14 19:03:09.755540 [ 5 ] <Error> BaseDaemon: 4. 4 libsystem_pthread.dylib 0x00007fffc3a3aa07 _pthread_body + 0
2017.04.14 19:03:09.755546 [ 5 ] <Error> BaseDaemon: 5. 5 libsystem_pthread.dylib 0x00007fffc3a3a231 thread_start + 13


Borys
14.04.2017
16:15:32
Подскажите про формат RowBinary (а то в доке про него написано мало, а хочется поиспользовать). Как должен выглядить POST-запрос, который вставляет данные в таком формате? Например, обычный запрос можно сгенерить строкой echo "('b', 1, 2)" | POST '127.0.0.1:8123/?query=INSERT INTO t VALUES' (и он будет выглядеть так https://pastebin.com/zNJjgggy), а я хочу послать запрос "INSERT INTO t VALUES FORMAT RowBinary", но не понимаю, как передавать значения. Или может где-нибудь уже написано про это более подробно?

Igor
14.04.2017
16:16:42

Andrey
14.04.2017
16:43:17
Ребят, у кого по памяти помирает. Поставьте ограничение чуть меньше доступной памяти на сервере. Не насилуйте делезо/виртуалки. Если будет все равно мало, поставьте группировку во внешней памяти.
Не CH виноват что у вас так много данных. ну или мало оперативы)))

Беслан
14.04.2017
16:45:20
Об этом же вчера было
https://github.com/yandex/clickhouse-presentations/tree/master/meetup5 и вот презентация, вроде

Dmitry
14.04.2017
18:19:16
Небольшая идейка
в CH есть функции IPv4NumToString(num), IPv4StringToNum(s)
для преобразования IPv4 в UInt32
Также полезными будут функции для преобразования MAC'ов
MACNumToString и MACStringToNum
MAC в UInt64
насколько сложно их реализовать?

Igor
14.04.2017
18:22:27
не сложно
можно исходники ipv4/uuid посмотреть

Dmitry
14.04.2017
18:26:42
да верю, что не очень сложно :)
плюсы последний раз серьезно теребил лет 15 назад :)

Google

Dmitry
14.04.2017
18:43:16
@dudy_dud , ограничение не помогает (лимит установлен меньше в 2 раза от доступной памяти). Сейчас ситуация такая, что сервер упал и при попытке его запустить падает через несколько секунд

Andrey
14.04.2017
18:44:37

Dmitry
14.04.2017
18:52:38
На машие: 16 GB
PhysMem: 3800M used (1249M wired), 12G unused. VM: 599G vsize, 612M framework vsize, 0(0) swapins, 0(0) swapouts.
Никаких других БД не запущено
Ограничение поставил в 4GB

Alexey
14.04.2017
19:04:24


Dmitry
14.04.2017
19:10:50
При сборке наблюдаю еще вот такое:
In file included from /Users/user/develop/dni/ClickHouse/libs/libcommon/src/apple_rt.cpp:12:
/usr/include/time.h:171:3: error: typedef redefinition with different types ('enum clockid_t' vs 'int')
} clockid_t;
^
/Users/user/develop/dni/ClickHouse/libs/libcommon/include/common/apple_rt.h:26:13: note: previous definition is here
typedef int clockid_t;
^
In file included from /Users/user/develop/dni/ClickHouse/libs/libcommon/src/apple_rt.cpp:12:
/usr/include/time.h:177:5: error: declaration of 'clock_gettime' has a different language linkage
int clock_gettime(clockid_t __clock_id, struct timespec *__tp);
^
/Users/user/develop/dni/ClickHouse/libs/libcommon/include/common/apple_rt.h:27:5: note: previous declaration is here
int clock_gettime(int clk_id, struct timespec* t);
^
После обновления Xcode
MacOS Sierra (10.12)
Xcode (8.3.1)

Рулон
14.04.2017
19:19:08
Люди, а можете сказать чем пользуетесь UInt или Int и почему )))

Alexey
14.04.2017
19:26:14
Все презентации со вчерашнего митапа в одном архиве:
https://yadi.sk/d/DVBMpnrT3GvnXp

Рулон
14.04.2017
19:42:30
Если я правильно понял, int занимает меньше места? где может пригодиться uint?

Alexey
14.04.2017
19:42:42


Andrey
14.04.2017
19:58:56