
Michal
19.12.2017
12:16:26
Вкратце - просто сам себе содаёшь случайный альфанумеричный номер сессии и высылаешь его как параметр url session_id. По умолчанию таймаут - минута. Можно увеличить. Можно проверить жива ли ещё сессия. Примеры тут: https://github.com/yandex/ClickHouse/blob/master/dbms/tests/queries/0_stateless/00463_sessions_in_http_interface.sh

Dmitry
19.12.2017
12:37:56
Всем привет - такой вопрос, используем кликхаус для сбора статистики. Обратили внимание, что ест около 3 ГБ памяти в день. Хотелось бы понять почему - подозреваю, что непраивльно использую движок MergeTree
CREATE TABLE IF NOT EXISTS my_cool_table
(
UUID String,
Updated DateTime,
UpdatedDate Date MATERIALIZED Updated,
CPUSecs Float64,
AvailableMem Int64,
BytesSent Int64,
BytesRecv Int64,
) Engine = MergeTree(UpdatedDate,(UUID,UpdatedDate),8192);
сама табличка

Google

Dmitry
19.12.2017
12:40:31
вариантов UUID немного - сейчас около 70. Каждый вариант делает INSERT по одной строчке раз в n секунд

Egor
19.12.2017
12:43:11

Dmitry
19.12.2017
12:45:50
Постребление памяти растет каждый день - это значит, что 3 дня назад было 20 ГБ. Сейчас около 38. Графана показывает практически линейный рост потребления памяти во времени. Количество сбрасывающих статистику не увеличивалось.
Ждать пока он сожрет все 128 ГБ - ну такое..

Alex
19.12.2017
12:46:33
Версия какая?

Dmitry
19.12.2017
12:51:00
1.1

Alex
19.12.2017
12:51:56
А дальше какое число? Там самое интересное :)
В версии 54310 есть утечка памяти при вставке в обычные (не Replicated) MergeTree

Dmitry
19.12.2017
12:53:24
а как посмотреть?
ва документации проморгал флаг\запрос на версию

Egor
19.12.2017
12:54:01
Когда посединяетесь с консольного клиента, он пишет версию сервера и клиента.

Alex
19.12.2017
12:54:08
SELECT version()

Andrew
19.12.2017
12:54:09

Google

Alex
19.12.2017
12:54:21
В 54318 это поправили

Michal
19.12.2017
12:54:28
SELECT version();

Dmitry
19.12.2017
12:54:28
1.1.54310
ХАХ =)

Andrew
19.12.2017
12:54:33

Dmitry
19.12.2017
12:54:59
спасибо

Alex
19.12.2017
12:56:16
Лучше переехать, но в 54318 обнаружены довольно серьёзные ошибки с репликацией (впрочем, кажется, они присутствуют и в 54310). Сейчас готовим фиксы.

Andrew
19.12.2017
12:56:41
интересно спасибо

Dmitry
19.12.2017
12:58:53
в докер образах 54318 будет?

Aloneibreak
19.12.2017
14:01:40
коллеги
подскажите пожалуйста по ошибке
<Error> event.Distributed.DirectoryMonitor: Code: 210, e.displayText() = DB::NetException: I/O error: Broken pipe: while reading from socket
от чего может возникать?
мы из-за нее какое-то время не получали данные с ноды, на которой происходила ошибка

Pavel
19.12.2017
14:11:28
Хм, странно, в новой версии прилетела проверка на SSSE 4/2
НО
sudo service clickhouse-server start
Illegal instruction
Warning! SSE 4.2 instruction set is not supported
Start clickhouse-server service: Path to data directory in /etc/clickhouse-server/config.xml: /var/lib/clickhouse/
DONE
и демон все равно запускается :(

prll
19.12.2017
14:27:24
проверка в инит скрипте только для пугания пользователей

Vsevolod
19.12.2017
14:28:04
@proller 2 бинаря сделали?

prll
19.12.2017
14:28:35
нет.

Vsevolod
19.12.2017
14:28:58
фи

prll
19.12.2017
14:29:48
и так размеры в сеть не пролазят и время сборки огого

Vsevolod
19.12.2017
14:30:19
писали бы на нормальном языке, не было бы таких проблем

Google

Vsevolod
19.12.2017
14:31:10
я тут тоже от c++ с ума схожу - по 10 минут ждать сборки любой мелкой фигни

prll
19.12.2017
14:31:12
это ты про lua сейчас ?

Vsevolod
19.12.2017
14:31:19
про си, конечно
lua оно для расширений, а у вас все равно sql есть

prll
19.12.2017
14:31:40
ccache + distcc и не надо ждать ничо
у нас пакет 4 минуты собирается

Vsevolod
19.12.2017
14:31:55
все упирается в линковку

prll
19.12.2017
14:31:59
если не много изменений

Vsevolod
19.12.2017
14:32:16
потому что результативный бинарь выходит 2.3Gb
и это все рак c++ и шаблонов

prll
19.12.2017
14:32:37
ну так это не мелкая фигня

Vsevolod
19.12.2017
14:32:46
изменения мелкие

prll
19.12.2017
14:33:14
для разработки побить все на кучу мелких .so

Vsevolod
19.12.2017
14:34:04
это понятно, но вот так склалось, что никто этого не сделал из-за кучи legacy зависимостей...
ладно, это все оффтоп

Alex
19.12.2017
14:36:16
Как раз "рак шаблонов" это одна из вещей, которая делает ClickHouse быстрым :) Потому что в бинарник вкомпилирован оптимизированный код для большого числа комбинаций типов параметров.

Vsevolod
19.12.2017
14:39:20
ну, все это делается руками на plain c, только с большим геморроем
вон, в openssl сделали на перле кодогенератор ассемблера, так что и шаблоны c++ делаются средствами препроцессинга довольно элементарно
другое дело, что по читаемости это даже хуже c++ :)

prll
19.12.2017
14:40:50
а по удобству изменений и еще хуже

Google

Vladimir
19.12.2017
14:46:18
Ребята подскажите какую ОС лучше сетапить для кликхауса, и какую весрию кликхауса лучше ставить чтобы настроить шардирование

Pavel
19.12.2017
14:46:24
ненене, никакого С пожалуйста
скорее бы хотелось отключения требования SSE4/2 :( я, конечно, понимаю, что прошу дичи, но просто получается что другие системы работают на том же железе, а КХ - отказываеься :/

prll
19.12.2017
14:47:42
а в чем проблема пересобрать ?
кроме windows конечно

Pavel
19.12.2017
14:49:40
а планов отдельную сборку сделать для таких вот мамонтов нету?

prll
19.12.2017
14:50:20
есть вариант сборки в одну строку через pbuilder

Pavel
19.12.2017
14:52:38
а можно ссылочку, пожалуйста?
в идеале мне бы просто пакет что для убунты идет перебрать без SSE и все

pavel
19.12.2017
15:22:28
Есть таблица t1 ENGINE = ReplicatedMergeTree и есть t1_mv MATERIALIZED VIEW ... ENGINE = MergeTree ... as select from t1 для неё.
1) Так бывает? Или данный MV должен использовать тоже какой-то replicated-движок?
2) На другом сервере лежит реплика t1. На том другом сервере лежит t2_mv для t1. t2_mv на том другом сервере будет штатно наполняться данными при инсерте в любую реплику t1?
3) t1_mv, t2_mv вообще должны знать что-то про репликацию? Или они могут независимо жить на разных серверах и спокойно апдейтиться из "родительских" таблиц, ничего не зная про их реплика-природу?
4) Существует вообще какой-то в природе смысл реплицировать MV, делать их с Replicated-движком?

Pavel
19.12.2017
15:36:48
@proller а как мне пересборка поможет? :( В билд гайде снова требование SSE 4.2: https://clickhouse.yandex/docs/en/development/build.html

prll
19.12.2017
15:44:46
ну сборка не проверяет этот гайд на корректность ;)
примерно так можно пересобрать без sse:
sudo DIST=artful pbuilder create --configfile debian/.pbuilderrc && env DH_VERBOSE=1 CMAKE_FLAGS="-DHAVE_SSE41=0 -DHAVE_SSE42=0 -DHAVE_POPCNT=0 -DHAVE_SSE2_INTRIN=0 -DSSE2FLAG=' ' -DHAVE_SSE42_INTRIN=0 -DSSE4FLAG=' ' -DHAVE_PCLMULQDQ_INTRIN=0 -DPCLMULFLAG=' '" DIST=artful pdebuild --configfile debian/.pbuilderrc --debbuildopts "--source-option=--format=\"3.0 (native)\""
но! сейчасс в master сломано

Pavel
19.12.2017
15:56:08
попробую) Спасибо!

prll
19.12.2017
16:13:48
тег v1.1.54318-stable таким способом собирается нормально

Pavel
19.12.2017
16:14:39
супер!) сейчас буду пробовать!


Rudenko
19.12.2017
16:17:43
Добрый день , есть забавная задача.
Вот сама таблица
CREATE TABLE IF NOT EXISTS trade_history (
EventDate Date,
Timestamp UInt64,
Exchange String,
Pair1 String,
Pair2 String,
Price Float64,
Amount Float64,
Time DateTime
) ENGINE = MergeTree(EventDate, (Exchange, Timestamp, Pair1, Pair2, Price, Amount, Time), 8192);
К ней есть запрос типа
SELECT
MAX(Price), MIN(Price), SUM(Amount), Pair1, Pair2
FROM
trade_history
WHERE
(EventDate >= '2017-11-23' AND EventDate <= '2017-11-30')
AND
(Timestamp >= 1511447283790628020 AND Timestamp <= 1512052083790628020)
GROUP BY toStartOfHour(Time), Pair1, Pair2
Вопрос как получить первый Price и последний Price к каждой группе toStartOfHour(Time), Pair1, Pair2
Надо построить график OHLCV(Японские свечи).
Для этого надо 5 параметров
O - Open(Первый Price в временном промежутке)
H - High(Самый высокий Price за весь промежуток)
L - Low (Самый низкий Price за временной промежуток)
C - Close (Последний Price за временной промежуток)
V - Volume (Сума всех Amount)
Хотелось бы сделать все в один запрос чтоб не гонять дата сет в 1.5 ккк записей.
Что-то типа
SELECT
MAX(Price), MIN(Price), SUM(Amount), FIRST(Price), LAST(Price), Pair1, Pair2
FROM
trade_history
WHERE
(EventDate >= '2017-11-23' AND EventDate <= '2017-11-30')
AND
(Timestamp >= 1511447283790628020 AND Timestamp <= 1512052083790628020)
GROUP BY toStartOfHour(Time), Pair1, Pair2


Alex
19.12.2017
16:28:03
Коллеги, привет!
Вашему вниманию статья про GROUPING SETS "на коленке"
https://dzone.com/articles/implementing-subtotals-aggregations-in-clickhouse

Google

roma
19.12.2017
16:44:01
привет
подскажите, пожалуйста, как починить
2017.12.19 10:03:34.141696 [ 21045184 ] <Error> ExternalDictionaries: Failed reloading 'foo_dict' dictionary: Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = Host not found: 172.16.0.10, e.what() = Host not found
словарь описан как:
<dictionary>
<name>foo_dict</name>
<source>
<http>
<url>http://172.16.0.10/api/v1/dictionary/blahblah</url>
<format>TabSeparated</format>
</http>
</source>
[...skip...]

Александр
19.12.2017
16:45:09
Server returned error: Server returned error: /opt/home/milovidov/ClickHouse_clean/contrib/libtcmalloc/src/page_heap_allocator.h:74] FATAL ERROR: Out of memory
Интересные пути в ошибке )
С репозитория кх ставился

Vladislav
19.12.2017
16:50:24
в самом пути ничего плохого нет - это отладочная информация

Alexey
19.12.2017
18:21:02
Опубликованы презентации с московского митапа:
https://clickhouse.yandex/presentations/meetup11/not_in_the_docs.pdf
https://clickhouse.yandex/presentations/meetup11/clickhouse_in_the_world.pptx
https://clickhouse.yandex/presentations/meetup11/target.pdf
https://clickhouse.yandex/presentations/meetup11/mosru.pdf
https://clickhouse.yandex/presentations/meetup11/tableau.pptx
https://clickhouse.yandex/presentations/meetup11/news_and_plans
+ ещё один микро-доклад был без презентации - ждём видео.

Александр
19.12.2017
18:32:02

Anatoly
19.12.2017
20:42:28
Спасибо !

rus
19.12.2017
23:12:01

pavel
20.12.2017
00:20:58
Будет ли Materialized View наполняться данными, если INSERT сделан на другом сервере в реплицируемую таблицу, а наша MV просто as select к этой таблице на своём сервере?

Alexey
20.12.2017
03:24:28

S
20.12.2017
05:14:41
Добрый день, коллеги! Поделитесь, пожалуйста, опытом работы с timeseries метриками в CH. Например: как получаете последнюю, по времени, метрику группированную по атрибуту; как схлапываете данные за периоды. Any help, pls )))

Eduard
20.12.2017
05:39:52

S
20.12.2017
05:44:03

.
20.12.2017
06:40:34
Привет.
В схеме eventDate Date DEFAULT toDate(eventTime)
Если пропускаю эту колонку в нодовских либах, то ставит дату 0000-00-00. Кто-нибудь сталкивался с таким?

Константин
20.12.2017
07:00:44
Доброе утро!
Скажите, если на одной ноде в кластере закончилось место
можно ли удалить standalone таблицу