
Konstantin
31.01.2017
01:26:41
а libz тоже вендерится?

prll
31.01.2017
01:34:38
всмысле живет теперь в contrib ?
- да, только там не совсем обычная zlib

Konstantin
31.01.2017
01:41:19
А что с ней сделали?
Она просто при make install со всеми потрахами устанавливается, даже если, кажется в статической линковке использует
ся

Google

prll
31.01.2017
01:56:18
так ведет себя любой проект с cmake у которого не оторвали install

Konstantin
31.01.2017
02:00:20
это хорошо или плохо?

Alexey
31.01.2017
02:01:29

prll
31.01.2017
02:02:46
чем меньше правок в contrib тем лучше.
ну и пакеты принято делать через специальную stage диру, куда все инсталят что попало, а потом выбирается что надо

Konstantin
31.01.2017
02:07:31
а зачем понадобилось-то?

Боб
31.01.2017
05:47:03
функция arrayCount отказывается работать для массивов UInt64:
select arrayCount(Returned) from IntervalStats limit 100
Code: 43, e.displayText() = DB::Exception: The only argument for function arrayCount must be array of UInt8. Found Array(UInt64) instead., e.what() = DB::Exception
при этом вариант с лямбда-функцией - работает:
select arrayCount(x -> 1, Returned) from IntervalStats limit 100

papa
31.01.2017
06:01:05
при вызове без лябмды это по сути такой подсчет готовых boolean-ов, которые представлены в виде UInt8
а если вам нужна длина массива, то это length
SELECT arrayCount(x -> toUInt64(1), [1, 2, 3]) так тоже работать не будет.

Боб
31.01.2017
06:20:54
да, в моём случае length лучше. Но может пригодиться и arrayCount для больших типов и строк.

Ivan
31.01.2017
07:50:28

Igor
31.01.2017
07:51:20

Ivan
31.01.2017
07:51:51
ну оно же работать в случае чего будет не на мак-серверах

Google

Ivan
31.01.2017
07:52:09
соответственно не надо в разных окружениях разрабатывать и работать )

Dmitriy
31.01.2017
08:08:21
Привет всем. Подскажите когда будет добавлена запись митапа от 14.12.2016 ? Читал где что уже запись смонтирована, надо только выложить

Valeriy
31.01.2017
08:59:05
Подскажите, пожалуйста, есть ли хороший способ быстро определить, до какого момента в реплицируемой таблице есть данные? В таблице есть поля timestamp и производное от него date, timestamp не в ключе. Понятно, что я могу получить max(date) быстро, а потом один день полностью просканить (с условием на date) и найти max(timestamp), но это все же занимает время, а самое главное - если таблица реплицируемая, то запрос выполнится на одной реплике, а следующий запрос на основе этих данных может прийти на другую, которая отстает.

Dmitry
31.01.2017
09:04:18
У сервера есть http ручка replica_status?verbose=1
Позже могу точно прислать. Она говорит на сколько отстает реплика потаблично

Valeriy
31.01.2017
09:07:11
Спасибо, посмотрю.
Если кто будет искать и не найдет - там 's' на конце: replicas_status
К сожалению, оно ничего не говорит о том, какие данные содержатся в таблице. Только лаконичное Absolute delay: 0. Relative delay: 0.
Пока придумалась корявая схема иметь отдельную ReplacingMergeTree таблицу, куда периодически скриптом будет загоняться максимальный таймстемп. Загоняться будет на каждой реплике отдельно, таблица не реплицируется, на каждой реплике свой инстанс, и Distributed таблица смотрит на все реплики как на отдельные шарды, чтобы запрос делать ко всем. Так найдем min(max(timestamp)) среди всех реплик. Но сложновато.

Боб
31.01.2017
09:33:23
можно просто у каждой реплики спрашивать max(Timestamp) WHERE EventDate >= today()-1
ну или два запроса подряд слать, но на каждую реплику персонально

Maxim
31.01.2017
09:41:41

Dmitriy
31.01.2017
09:44:44

Dmitry
31.01.2017
09:52:58

Valeriy
31.01.2017
10:05:57
Данные заливает одна сущность, а читает - другая. Ей все равно тогда придется делать запрос типа select max(timestamp) по последнему дню, что просканит весь день.
А если там delay != 0, то все еще запутаннее становится.

Андрей Михайлович
31.01.2017
11:22:30
/stat@combot

Combot
31.01.2017
11:22:32
combot.org/chat/-1001080295593

Андрей Михайлович
31.01.2017
11:22:34
/stat@combot

Combot
31.01.2017
11:22:34
combot.org/chat/-1001080295593

Yaroslav
31.01.2017
11:24:08
Всем привет. Возник такой вопрос. Пытаюсь вставить curl'om данные в кликхаус, размер данных > 1 MB. Весь запрос на инсерт хранится в файле. При выполнении запроса ловлю ошибку вида
Code: 27, e.displayText() = DB::Exception: Cannot parse input: expected , before:
если шлю меньше 1 мб данных все работает хорошо.
Как можно решить эту проблему?

Google

Pavel
31.01.2017
11:32:56
всем привет! :)

Dmitry
31.01.2017
11:36:40

Yaroslav
31.01.2017
11:36:46
да, все верно

Dmitry
31.01.2017
11:37:20
Так не надо.
Вот тут есть примеры
https://clickhouse.yandex/reference_ru.html#HTTP интерфейс
Надо запрос передать отдельно параметром а данные постом
Вот например так
echo -ne '10\n11\n12\n' | POST 'http://localhost:8123/?query=INSERT INTO t FORMAT TabSeparated'

Dmitriy
31.01.2017
11:44:27
/stat@combot

Combot
31.01.2017
11:44:28
combot.org/chat/-1001080295593

Андрей Михайлович
31.01.2017
12:25:59
как, блин, сделать группе имя? ну аки в этой @clickhouse_ru ?

Anatoly
31.01.2017
12:29:18

Андрей Михайлович
31.01.2017
12:29:58
Вот я админ в своей группе, но в упор не вижу этого пункта

Eduard
31.01.2017
12:30:13
в супергруппу конвертните

Андрей Михайлович
31.01.2017
12:30:47
Уже
А дальше-то как?
Идиотизм, но оно само всё сделало. Я хз.
Спасибо :-)

Yaroslav
31.01.2017
12:50:34

Abdulla
31.01.2017
13:12:24
Подскажите, пожалуйста, как собрать бинари clickhouse полностью статически? Нужно запускать в debian 8, но скомпилировать под него не удаётся из-за требований более нового libc. Из testing libc поставить не вариант, т.к. тянет за собой очень многое и превращает систему практически в testing.

Alexey
31.01.2017
13:14:12
а обязательно собирать? убунтовские репы не подходят?

Google

Abdulla
31.01.2017
13:16:48
не подходят, из-за зависимостей: нужен новый libc, которого в jessie нет
если игнорировать зависимости, то со старым libc работать не хочет

Alexey
31.01.2017
13:18:55
ты чтото делаешь не так. у меня в проде на debian 8.6 стоит CH из реп яндекса
без зависимостей из тестинга

Abdulla
31.01.2017
13:21:16
можете показать вывод dpkg -l libc6 ?

Alexey
31.01.2017
13:25:17
dpkg -l libc6
2.19-18+deb8u6 amd64
dpkg -l clickhouse-server-base
clickhouse-server-b 1.1.54133

Nikita
31.01.2017
13:25:23

Alexey
31.01.2017
13:25:47

Abdulla
31.01.2017
13:27:15
да, у меня такая же версия. попробую ещё раз из реп убунты
что-то действительно не то делаю)
спасибо за инфу
вот что при попытке установки из xenail:
root@debian:~# apt-get install clickhouse-server-base clickhouse-server-common
Некоторые пакеты невозможно установить. Возможно, вы просите невозможного,
или же используете нестабильную версию дистрибутива, где запрошенные вами
пакеты ещё не созданы или были удалены из Incoming.
Следующая информация, возможно, поможет вам:
Пакеты, имеющие неудовлетворённые зависимости:
clickhouse-server-base : Зависит: libc6 (> 2.23) но 2.19-18+deb8u7 будет установлен
E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.
а вот trusty вроде норм

Alexey
31.01.2017
13:58:29
Есть ещё специальная опция при сборке: GLIBC_COMPATIBILITY. Она позволяет собрать пакет, который зависит от старой libc. Работа проверялась при сборке на trusty.

Abdulla
31.01.2017
14:04:44
да, видел эту опцию, но в jessie нет возможности собрать даже с ней, т.к. там gcc4. буду собирать в trusty с этой опцией для jessie.
собирать нужно, чтобы пострипать бинар, он у вас с дебагом в пакете
надеюсь debian 9 будет скоро)

Vladimir
31.01.2017
14:17:57
Это Raspberry Pi? Можно поставить пакет из stretch: https://solarianprogrammer.com/2016/06/24/raspberry-pi-raspbian-install-gcc-compile-cpp-14-and-cpp-17-programs/

prll
31.01.2017
14:33:14
только первые две rpi - 32 бит и на них ничего не заработает

Abdulla
31.01.2017
14:39:34
нет, не rpi. и, как уже упоминалось, нельзя просто так взять и поставить зависимости из stretch

Google

Vladislav
31.01.2017
19:02:11


prll
31.01.2017
19:50:43
а вот тоже последняя стабильная, линукс, тоже статика
[ 81%] Linking CXX executable zkutil_test
cd /tmp/build/libs/libzkutil/src/tests && /usr/bin/cmake -E cmake_link_script CMakeFiles/zkutil_test.dir/link.txt --verbose=1
/usr/lib/ccache/bin/g++ -D_GLIBCXX_USE_CXX11_ABI=1 -pipe -std=gnu++1y -fno-omit-frame-pointer -Wall -Wnon-virtual-dtor -msse4 -mpopcnt --no-pie -Werror -O3 -pipe -mtune=generic -march=x86-64 -mmmx -msse -msse2 -O3 -pipe -mtune=generic -march=x86-64 -mmmx -msse -msse2 -D_GLIBCXX_USE_CXX11_ABI=1 -pipe -D_GLIBCXX_USE_CXX11_ABI=1 CMakeFiles/zkutil_test.dir/zkutil_test.cpp.o -o zkutil_test -rdynamic ../../libzkutil.a ../../../../dbms/libdbms.a ../../libzkutil.a ../../../../contrib/libzookeeper/libzookeeper.a ../../../../dbms/libstring_utils.a ../../../libmysqlxx/libmysqlxx.a ../../../libcommon/libcommon.a ../../../libpocoext/libpocoext.a ../../../../contrib/libpoco/lib/libPocoUtil.a ../../../../contrib/libpoco/lib/libPocoXML.a ../../../../contrib/libtcmalloc/libtcmalloc_minimal_internal.a -Wl,-Bstatic -lglib-2.0 -licui18n -licuuc -licudata -lrt -Wl,-Bdynamic ../../../libmysqlxx/libmysqlclient.a -Wl,-Bstatic -lssl ../../../../contrib/libcityhash/libcityhash.a ../../../../contrib/libfarmhash/libfarmhash.a ../../../../contrib/libmetrohash/libmetrohash.a ../../../../contrib/liblz4/liblz4.a ../../../../contrib/libzstd/libzstd.a ../../../../contrib/libdouble-conversion/libdouble-conversion.a ../../../../contrib/libcpuid/libcpuid.a ../../../../contrib/libre2/libre2.a ../../../../contrib/libre2/libre2_st.a -lcrypto ../../../../contrib/libboost/libboost_system_internal.a ../../../../contrib/libpoco/lib/libPocoDataODBC.a ../../../../contrib/libpoco/lib/libPocoData.a -lodbc ../../../../contrib/libpoco/lib/libPocoMongoDB.a ../../../../contrib/libpoco/lib/libPocoNet.a ../../../../contrib/libpoco/lib/libPocoFoundation.a ../../../../contrib/libzlib-ng/libz.a -Wl,-Bdynamic -lpthread -lrt -Wl,-Bstatic -lanl -Wl,-Bdynamic -ldl -Wl,-Bstatic -lltdl -Wl,-Bdynamic -lpthread
CMakeFiles/zkutil_test.dir/zkutil_test.cpp.o: In function `main':
zkutil_test.cpp:(.text.startup+0x186): undefined reference to `readline'
zkutil_test.cpp:(.text.startup+0x19a): undefined reference to `add_history'
collect2: error: ld returned 1 exit status
похоже, флаг какой-то забыт
фикс в мастере


Alexey
31.01.2017
20:29:30
вот твит https://twitter.com/marklit82/status/824603704095625219?s=09
Прогнал тесты на этих данных у себя. Вот предварительные результаты:
https://github.com/yandex/ClickHouse/blob/master/doc/example_datasets/nyc_taxi.md
- там в конце.
Также делаю дамп, который собираюсь выложить, чтобы его можно было загружать без преобразования данных в Postgres.

f1yegor
31.01.2017
21:38:01
отклик очень положительный. создавайте там уже twitter для ClickHouse, или на меня подписывайтесь)

Pavel
31.01.2017
21:38:35
да, твиттер хорошая идея :)

Alexey
31.01.2017
21:38:57
Уже решили, создали. Надеюсь, скоро начнём туда писать :)

Pavel
31.01.2017
21:38:59
мы в Cloudflare очень рады тому, как CH выборки делает из огромных датасетов)

f1yegor
31.01.2017
21:41:48
спасибо, сейчас я вас спамить буду

Pavel
31.01.2017
21:43:13
не надо их спамить :) пусть базу пишут)))

Alexey
31.01.2017
21:43:20
> What sort of EC2 setup would be ideal
Для ответа:
Суммарное количество оперативки должно быть достаточным, чтобы вместить весь dataset. 200 GB хватит с запасом (реально данные в результирующей таблице весят 126 GiB). В остальном скорость определяется суммарным количеством ядер. Чем больше, тем лучше. У нас на одном сервере 16 физических ядер (/proc/cpuinfo показывает 32). Как сравнить с Amazon EC2 не знаю точно.

nikoinlove
31.01.2017
22:56:21
8x6 TB HDD in software RAID-5 но зачем

Alexey
31.01.2017
22:58:31
Сейчас в случае восьми дисков не используем RAID-5, только RAID-50 или RAID-6. Иначе слишком ненадёжно, даже с учётом репликации. Но на том сервере осталась конфигурация с RAID-5.
Не RAID-10, потому что очень жалко места.

nikoinlove
31.01.2017
22:58:31
это же мееееедленно
140 серверов на бенчмарк не жалко значит)

Alexey
31.01.2017
23:01:34
RAID-5 не медленный (то есть, масштабируется как число дисков минус один) при последовательном чтении, последовательной записи, случайном чтении. Медленный только при случайной записи. Правда есть подстава - в Linux по-умолчанию неправильный параметр stripe_cache_size, см. https://github.com/yandex/ClickHouse/blob/master/doc/administration/tips.txt