@clickhouse_ru

Страница 610 из 723
М
03.08.2018
14:40:33
Еще раз всем привет, я пока не смог решить проблему, но обнаружил интересный эффект. Если я залезу в /var/lib/clickhouse/data и перенесу папку с данными самой активно пользуемой базы куда-нибудь, то проблем при запуске не возникает и в логе появляются строки: 2013.05.15 04:02:00.275454 [ 1 ] <Information> Application: Listening http://[::0.0.0.0]:8123 2013.05.15 04:02:00.275647 [ 1 ] <Information> Application: Listening tcp: [::0.0.0.0]:9000 2013.05.15 04:02:00.275825 [ 1 ] <Information> Application: Listening interserver: [::0.0.0.0]:9009 2013.05.15 04:02:00.276018 [ 1 ] <Information> Application: Ready for connections. Если вернуть на место, проблемы возвращаются. Что это может значить?

Google
М
03.08.2018
14:49:37
А в логе больше ничего нет, кроме того, что ты приложил?
На этом месте он задумываетсяя (если запускать клик из консли) и при попытке остановить его (ctrl+c) пишет в лог <Information> Application: Received termination signal (Interrupt) И не останавливается. При повторном нажатии пишет 2013.05.15 04:08:22.359170 [ 5 ] <Information> Application: Received termination signal (Interrupt) 2013.05.15 04:08:22.359205 [ 5 ] <Information> Application: Received second signal Interrupt. Immediately terminate. И после этого уже умирает

Alexander
03.08.2018
14:50:55
Это поведение ожидаемо. Но конечно без gdb'ы/strace'a тут сложно понять, почему он задумывается и что он там делает.

Alexander
03.08.2018
15:04:46
И при таком трейсе ничего в логах?!

М
03.08.2018
15:09:37
Лог с того момента, как я использовал strace

Не считая сообщений о том. как я его в конце "убивал"

Alexander
03.08.2018
15:13:22
А почему версия, которой уже почти 1.5 года? Если честно, с такой древностью разбираться сложно совсем.

Denis
03.08.2018
15:13:24
fsck делали?

что sar -d 1 100 показывает в момент старта КХ?

М
03.08.2018
15:22:51
fsck делали?
Сделаем

Google
Denis
03.08.2018
15:24:20
это команда/софтина в юниксе, показывает нагрузку, в данном случае -d диски

я подозреваю что вы просто не дожидаетесь пока КХ прочитает с диска файлы, или с дисками проблемы и будут запредельные числа в столбиках svctm и await 15:24:40 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 15:24:40 dev8-0 0.00 0.00 0.00 0.00 0.40 0.00 0.00 40.00 15:24:40 dev8-16 0.00 0.00 0.00 0.00 0.40 0.00 0.00 40.00

М
03.08.2018
15:27:13
Я понял, возможно. Хорошо, спасибо, это тоже проверим.

Alexander
03.08.2018
15:30:57
я подозреваю что вы просто не дожидаетесь пока КХ прочитает с диска файлы, или с дисками проблемы и будут запредельные числа в столбиках svctm и await 15:24:40 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 15:24:40 dev8-0 0.00 0.00 0.00 0.00 0.40 0.00 0.00 40.00 15:24:40 dev8-16 0.00 0.00 0.00 0.00 0.40 0.00 0.00 40.00
Впринципе да, последняя запись в логе, что он как раз начинает грузить табличку. На текущей версии там идёт логирование, которое как-то описывает процесс, было бы более наглядно.

Denis
03.08.2018
15:33:38
и fsck надо сделать, потому что там возможно получились бесконечные файлы из нулей в конце.

Sergey
03.08.2018
15:36:36
Вопрос по нативному протоколу и пакету Data. В клиенте в Connection::receiveData есть readStringBinary(external_table_name, *in). Но на сервере TCPHandler::sendData туда пишет пустую строку: writeStringBinary("", *out). Есть ли в этом какой-то смысл? Или остаток непригодившейся фичи?

molo4ko
03.08.2018
15:45:52
Привет Если пользоваться хттп-словарем, насколько сильно заметно разницу в производительности по сравнению в файлом? хттп-сервис “рядом”, скорость “не ограничена”.

Кэшируются ли такие словари?

Evgeny
03.08.2018
15:46:26
Подскажите пожалуйста, а как сделать что-то вроде emptyArrayTuple() ?

papa
03.08.2018
15:48:50
select cast([] as Array(Tuple(Int8)))

Alexander
03.08.2018
15:49:33
Кэшируются ли такие словари?
В зависимости от типа — cached/hashed

Evgeny
03.08.2018
15:50:14
Combot
03.08.2018
15:50:14
Evgeny Kruglov (0) увеличил репутацию papa karlo (1)

molo4ko
03.08.2018
15:57:40
Ок, спасибо.

Evgeny
03.08.2018
16:11:23
github.com/tabixio/tabix/tree/alpha?files=1
А есть возможность попросить о фиче в новый табикс? Очень не хватает возможности выносить окощке результата в другое окно, чтобы былоа как в хроме, когда дебаггер и страница в разных окнах. Ну или показывать его справа, как предпросмотр сейчас сделан. Не хватает высоты окна редактирования :(

Evgeny
03.08.2018
16:13:15
Combot
03.08.2018
16:13:16
Evgeny Kruglov (0) увеличил репутацию Igor Str (1)

LeiDruid
03.08.2018
16:25:51
А альфа уже юзабельная ?

Google
Igor
03.08.2018
16:49:01
taketa
03.08.2018
16:58:59
ПОдскажите как сделать запрос с like вида SELECT Time, OpenTime, CloseTime FROM db.test Where Time LIKE('2018-08-01%’) ORDER BY (Time, TimeMillisecond) DESC

Dmitry
03.08.2018
17:10:46
Как-то так) SELECT Time, OpenTime, CloseTime FROM db.test Where Time LIKE '2018-08-01%’ ORDER BY (Time, TimeMillisecond) DESC

Victor
03.08.2018
17:11:55
вот это поворот

taketa
03.08.2018
17:23:38
Как-то так) SELECT Time, OpenTime, CloseTime FROM db.test Where Time LIKE '2018-08-01%’ ORDER BY (Time, TimeMillisecond) DESC
получаю - Error running query: Code: 43, e.displayText() = DB::Exception: Illegal type DateTime of argument of function like, e.what() = DB::Exception

Dmitry
03.08.2018
17:27:57
получаю - Error running query: Code: 43, e.displayText() = DB::Exception: Illegal type DateTime of argument of function like, e.what() = DB::Exception
Он ругается на тип колонки Time. Можно кастануть ее в строку: where toString(Time) like '2018-08-01 %'

Denis
03.08.2018
17:33:03
это удар по перфомансу. Time between '2018-08-01 00:00:00' and '2018-08-01 23:59:59' или toYYYYMMDD(Time) = '2018-08-01'

Dmitry
03.08.2018
17:33:44
вот-вот, как раз хотел спросить, какой тип у колонки Time

Denis
03.08.2018
18:18:00
>toYYYYMMDD(Time) = '2018-08-01' и удивительно, КХ единственная известная мне БД, где такой вариант заооптимизирован, остальные субд не парятся разворотом хешфункций.

Dmitry
03.08.2018
19:30:43
>toYYYYMMDD(Time) = '2018-08-01' и удивительно, КХ единственная известная мне БД, где такой вариант заооптимизирован, остальные субд не парятся разворотом хешфункций.
Если судить по названию, кажется, что функция должна вернуть '20180801') Я такой, честно говоря, даже не знал и гонял between

Alexey
03.08.2018
19:31:54
toDate(Time)

Denis
03.08.2018
19:56:58
Если судить по названию, кажется, что функция должна вернуть '20180801') Я такой, честно говоря, даже не знал и гонял between
а ну правильно, а toYYYYMMDD видимо для кастомного партиционирования сделали select * from (select toDateTime('2018-01-01 01:01:01') a) where toYYYYMMDD(a) = 20180101 and toDate(a) = '2018-01-01' я тоже везде пишу between, но вообще-то индекс работает с toYYYYMMDD и с toDate отбрасывание партиций еще страннее, партиционировали скажем по floor(x/100), у каждой партиции есть атрибуты max(x) и min(x), поэтому в запросе для оптимизации выбора партиции пишем where x=5, вместо привычных мне floor(x/100)= floor(5/100), это взрывает мне мозг.

Igor
03.08.2018
20:15:46
А альфа уже юзабельная ?
Пришлось много менять в UI/ux, все переделывать - но мне кажется лучше получается, "подразню" скином сравнением https://monosnap.com/file/1kn68QAl34wPAc2Jl3mWMi4i0IMIZw

Robert
03.08.2018
22:13:32
Робяты, если у меня в dictionary внешнем (Postgres через ODBC) есть поле Timestamp, которое так же может быть NULL. Как его правильно оформить в <attribute></attribute> что бы не ругался? Ну и видимо конвертация нужна. Использовать <expression></expression> или есть какой то другой идиоматический способ?

Combot
03.08.2018
22:13:32
LeiDruid (0) увеличил репутацию Igor Str (2)

Robert
03.08.2018
22:33:07
Спасибо, попробую

Alexey
03.08.2018
22:41:03
Спасибо, попробую
Посмотрите также expression: https://clickhouse.yandex/docs/ru/single/#_115 Может быть можно подставить COALESCE(Timestamp, ...)

Google
Vladimir
04.08.2018
06:11:12
но функционал-то соответствующий есть?
Он скорее как бэкэнд для чего то что можно назвать tsdb. А так на Вики вообще мало баз самих больше 50 только в opensource

Anton
04.08.2018
14:07:30
Добрый день. Столкнулся с ошибкой и не понимаю куда рыть дальше. Помогите пожалуйста понять: Создаю вьюху CREATE MATERIALIZED VIEW IF NOT EXISTS db1.r_test_transactions ON CLUSTER comparatio_cloud ENGINE = ReplicatedReplacingMergeTree('/clickhouse/db1/tables/r_test_transactions', '{replica}', DATE, (ED1_ID, CO1_ID), 8192, ED1_UPLOAD_TIMESTAMP) AS SELECT * FROM db1.rtest_transactions ┌─host────┬─port─┬─status─┬─error─┬─num_hosts_remaining─┬─num_hosts_active─┐ │ ch-srv1 │ 9000 │ 0 │ │ 1 │ 0 │ │ ch-srv2 │ 9000 │ 0 │ │ 0 │ 0 │ └─────────┴──────┴────────┴───────┴─────────────────────┴──────────────────┘ 2 rows in set. Elapsed: 0.108 sec. Вставляю данные ip-172-31-16-11.us-west-2.compute.internal :) insert into db1.rtest_transactions select * from db1.rtest_transactions; INSERT INTO db1.rtest_transactions SELECT * FROM db1.rtest_transactions Ok. 0 rows in set. Elapsed: 0.001 sec. на втором сервере делаю ip-172-31-16-10.us-west-2.compute.internal :) optimize table db1.r_test_transactions; OPTIMIZE TABLE db1.r_test_transactions Received exception from server (version 18.6.0): Code: 194. DB::Exception: Received from localhost:9000, ::1. DB::Exception: Received from ch-srv2:9000, 172.31.16.11. DB::Exception: Password required for user default. 0 rows in set. Elapsed: 0.079 sec.

нее может подключиться, если сделать наоброт, на первом сервере создать вьюху, на первом все работает, на втором OPTIMIZE не работает

Daniel
04.08.2018
19:16:45
Добрый вечер! У меня в Зукипере, с которым работает только КХ, накопилось уже 11 лог-файлов, хотя в конфиге зукипера указано ротировать по 10 (autopurge.snapRetainCount). root@east-dwarf-zk1:/var/zookeeper/logs/version-2# ls -lh total 19G -rw-r--r-- 1 zookeeper zookeeper 1.2G Aug 3 09:43 log.10019933c -rw-r--r-- 1 zookeeper zookeeper 1.7G Aug 3 15:51 log.10030917f -rw-r--r-- 1 zookeeper zookeeper 2.1G Aug 3 23:25 log.100519d74 -rw-r--r-- 1 zookeeper zookeeper 2.3G Aug 4 03:52 log.1007ad569 -rw-r--r-- 1 zookeeper zookeeper 2.3G Aug 4 07:40 log.100a742c0 -rw-r--r-- 1 zookeeper zookeeper 1.7G Aug 4 10:07 log.100d4c983 -rw-r--r-- 1 zookeeper zookeeper 2.3G Aug 4 12:43 log.100f41aa2 -rw-r--r-- 1 zookeeper zookeeper 1.3G Aug 4 14:52 log.10120bd50 -rw-r--r-- 1 zookeeper zookeeper 1.7G Aug 4 17:30 log.10139afc5 -rw-r--r-- 1 zookeeper zookeeper 1.3G Aug 4 19:28 log.1015a31d4 -rw-r--r-- 1 zookeeper zookeeper 1.9G Aug 4 22:12 log.10173df82 root@east-dwarf-zk1:/var/zookeeper/logs/version-2# cat /opt/zookeeper/conf/zoo.cfg autopurge.purgeInterval=1 maxSessionTimeout=60000000 dataDir=/var/zookeeper/data 4lw.commands.whitelist=* syncLimit=10 dataLogDir=/var/zookeeper/logs reconfigEnabled=true leaderServes=yes standaloneEnabled=false skipACL=yes autopurge.snapRetainCount=10 tickTime=2000 initLimit=30000 snapCount=3000000 preAllocSize=131072 maxClientCnxns=2000 dynamicConfigFile=/opt/zookeeper/conf/zoo.cfg.dynamic.100000000 Подскажите, плиз, нормальная ли это ситуация? Зукиперы запускались с такими конфигами, ничего после запуска не дописывалось, т.е. всё по идее должно быть применено.

О, только что создался и начал писаться 12 файл лога =)

Denis
04.08.2018
19:26:57
Снепшоты и логи не одно и тоже.

Daniel
04.08.2018
19:27:07
При этом зукипер видит настройки. Версия 3.5.3. 2018-08-02 23:06:05,104 [myid:1] - INFO [main:DatadirCleanupManager@78] - autopurge.snapRetainCount set to 10 2018-08-02 23:06:05,112 [myid:1] - INFO [main:DatadirCleanupManager@79] - autopurge.purgeInterval set to 1

Снепшоты и логи не одно и тоже.
Это уже что-то) Так логи можно просто > logfile занулять, или даже просто удалять?

Ivan
04.08.2018
19:30:40
Коллеги, подскажите: хочу подключить коллекцию mongodb как внешний словарь. В коллекции есть поле-массив строк, но, как я понял, поддержка Array() во внешних словарях не реализована. В целом, меня бы устроило записывать конкатенацию строк, но возможно ли это реализовать? Через expression? Не нашел в каком виде они задаются.

Daniel
04.08.2018
19:33:41
Снепшоты и логи не одно и тоже.
# systemctl status zookeeper ● zookeeper.service - ZooKeeper Service Loaded: loaded (/etc/systemd/system/zookeeper.service; enabled) Active: active (running) since Thu 2018-08-02 23:45:43 MSK; 1 day 22h ago Docs: http://zookeeper.apache.org Main PID: 13115 (java) CGroup: /system.slice/zookeeper.service └─13115 /usr/bin/java -cp $ZOOCFGDIR:/opt/zookeeper/zookeeper-3.5.3-beta.jar:/opt/zookeeper/lib:/opt/zookeeper/lib/slf4j-log4j12-1.7.5.jar:/opt/zookeeper/lib/slf4j-api-1.7.5.jar:/opt/zookeep... Aug 04 15:45:44 east-dwarf-zk1: java[13115]: Removing file: 2 авг. 2018 г., 23:45:44 /var/zookeeper/data/version-2/snapshot.0 Aug 04 17:45:43 east-dwarf-zk1: java[13115]: Removing file: 2 авг. 2018 г., 23:45:44 /var/zookeeper/data/version-2/snapshot.100000000 Aug 04 19:45:43 east-dwarf-zk1: java[13115]: Removing file: 3 авг. 2018 г., 5:15:13 /var/zookeeper/logs/version-2/log.100000001 Aug 04 19:45:44 east-dwarf-zk1: java[13115]: Removing file: 3 авг. 2018 г., 5:15:13 /var/zookeeper/data/version-2/snapshot.10019933a а он, похоже, всё же что-то удаляет. помониторю ещё.

Alexey
04.08.2018
19:45:31
Коллеги, подскажите: хочу подключить коллекцию mongodb как внешний словарь. В коллекции есть поле-массив строк, но, как я понял, поддержка Array() во внешних словарях не реализована. В целом, меня бы устроило записывать конкатенацию строк, но возможно ли это реализовать? Через expression? Не нашел в каком виде они задаются.
Нет, expression в Mongo словарях не поддерживается. Я думаю, это несложно добавить. Надо смотреть в MongoDBDictionarySource.cpp, функция createCursor. Для этого нужен человек, который чуть-чуть знает C++ (может пересобирать, перезапускать ClickHouse с mongo словарём).

Ivan
04.08.2018
19:46:27
благодарю

Daniel
04.08.2018
19:48:09
О, только что создался и начал писаться 12 файл лога =)
ура, ложная тревога, всё ротируется) только что процесс прошёл. будет +1 файл, то есть если autopurge.snapRetainCount=10 то будет 11 файлов всегда, где 11 - в который сейчас пишется cat /var/log/zookeeper-logger/zookeeper.log | grep -i Removing 2018-08-04 15:45:44,676 [myid:1] - INFO [PurgeTask:PurgeTxnLog@154] - Removing file: 2 авг. 2018 г., 23:45:44 /var/zookeeper/data/version-2/snapshot.0 2018-08-04 17:45:43,994 [myid:1] - INFO [PurgeTask:PurgeTxnLog@154] - Removing file: 2 авг. 2018 г., 23:45:44 /var/zookeeper/data/version-2/snapshot.100000000 2018-08-04 19:45:43,994 [myid:1] - INFO [PurgeTask:PurgeTxnLog@154] - Removing file: 3 авг. 2018 г., 5:15:13 /var/zookeeper/logs/version-2/log.100000001 2018-08-04 19:45:44,038 [myid:1] - INFO [PurgeTask:PurgeTxnLog@154] - Removing file: 3 авг. 2018 г., 5:15:13 /var/zookeeper/data/version-2/snapshot.10019933a 2018-08-04 22:45:44,012 [myid:1] - INFO [PurgeTask:PurgeTxnLog@154] - Removing file: 3 авг. 2018 г., 9:43:06 /var/zookeeper/logs/version-2/log.10019933c 2018-08-04 22:45:44,042 [myid:1] - INFO [PurgeTask:PurgeTxnLog@154] - Removing file: 3 авг. 2018 г., 9:43:06 /var/zookeeper/data/version-2/snapshot.10030916a

Kirill
04.08.2018
22:47:35
Добрый день. Столкнулся с ошибкой и не понимаю куда рыть дальше. Помогите пожалуйста понять: Создаю вьюху CREATE MATERIALIZED VIEW IF NOT EXISTS db1.r_test_transactions ON CLUSTER comparatio_cloud ENGINE = ReplicatedReplacingMergeTree('/clickhouse/db1/tables/r_test_transactions', '{replica}', DATE, (ED1_ID, CO1_ID), 8192, ED1_UPLOAD_TIMESTAMP) AS SELECT * FROM db1.rtest_transactions ┌─host────┬─port─┬─status─┬─error─┬─num_hosts_remaining─┬─num_hosts_active─┐ │ ch-srv1 │ 9000 │ 0 │ │ 1 │ 0 │ │ ch-srv2 │ 9000 │ 0 │ │ 0 │ 0 │ └─────────┴──────┴────────┴───────┴─────────────────────┴──────────────────┘ 2 rows in set. Elapsed: 0.108 sec. Вставляю данные ip-172-31-16-11.us-west-2.compute.internal :) insert into db1.rtest_transactions select * from db1.rtest_transactions; INSERT INTO db1.rtest_transactions SELECT * FROM db1.rtest_transactions Ok. 0 rows in set. Elapsed: 0.001 sec. на втором сервере делаю ip-172-31-16-10.us-west-2.compute.internal :) optimize table db1.r_test_transactions; OPTIMIZE TABLE db1.r_test_transactions Received exception from server (version 18.6.0): Code: 194. DB::Exception: Received from localhost:9000, ::1. DB::Exception: Received from ch-srv2:9000, 172.31.16.11. DB::Exception: Password required for user default. 0 rows in set. Elapsed: 0.079 sec.
Для default пароль не задавайте, это поведение нужно поправить, считайте что пока это фича такая.

Fedor
04.08.2018
23:20:10
Здравствуйте! Есть где-нибудь детальное описание, как хранятся данные внутри MergeTree? Как лежат на диске, как в памяти, используется ли кодирование столбцов, какой минимальный размер блока и т.п.?

Robert
05.08.2018
05:31:56
https://youtu.be/PLMSA_gDdyM

@fediq , наверно вот тут для базового понимания.

Fedor
05.08.2018
06:53:37
Спасибо!

Илона
05.08.2018
09:48:55
Всем привет. Возник вопрос при select ... where text like %localhost%. Вот так работает. А вот так уже нет. ....where text like %Localhost%. Заранее спасибо.

Sergey
05.08.2018
09:55:50
LIKE case sensitive: https://clickhouse.yandex/docs/en/query_language/functions/string_search_functions/#likehaystack-pattern-haystack-like-pattern-operator

Google
Sergey
05.08.2018
09:56:25
Собсно, кейс там во всех функциях важен, учитывайте это.

Илона
05.08.2018
10:05:19
Что скажете по поводу lower(text) like ...?

Sergey
05.08.2018
10:07:15
Я предпочитаю регулярками разруливать. Но разумнее попробовать как так, так и эдак, выбрать то, что подходит.

Илона
05.08.2018
10:32:35
Спасибо

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