
Alex
06.07.2017
14:26:01
Меня смущает нечётность количества. Я полагаю, что мы должны их взгромоздить в 3 шарда, попарно, но не понимаю, сработает ли это.

Andrey
06.07.2017
14:36:53

Mikhail
06.07.2017
14:37:20
Привет!
Подскажите, пожалуйста, можно ли как-то через jdbc-драйвер (используем спринговый JdbcTemplate) получить значение rows_before_limit_at_least ?

papa
06.07.2017
14:42:21
ClickHouseConnection -> ClickHouseStatement -> ClickHouseResponse

Google

Alexey
06.07.2017
14:43:34

Alex
06.07.2017
14:57:24
а какое стоит ограничение на количество VALUES в одном INSERT запросе?

Вася
06.07.2017
15:12:58
Миллион без проблем улетал.

Sergii
06.07.2017
15:21:53
а кто нибудь использовал max_files_to_modify_in_alter_columns? у меня выставлено уже в очень большое число, но все равно не помогает: Suspiciously many (116) files
получаю ошибку Suspiciously many (116) files

Alexey
06.07.2017
15:33:48

Vitaliy
06.07.2017
15:36:59

Vladimir
06.07.2017
15:53:42
Вопрос.
Прилага на java, из кафки прилетают данные постоянно, как лучше их положить в КХ
через jdbc preparedStatement батчем
через jdbc sendRowBinaryStream
или может по http array слать?
как быстрее должно быть?

Igor
06.07.2017
15:56:06
по мне так sendRowBinaryStream
у меня sendRowBinaryStream льет 40 тысяч строк в секунду при размере батча 100к записей

Aleksey
06.07.2017
16:00:19
Привет, ребят, подскажите, как создать материализованную вьюху on cluster? В доках указан пример для таблицы, а вот для матвьюхи нет и на мои попытки дб ругается syntax error.

Vitaliy
06.07.2017
16:24:18

Google

Vladimir
06.07.2017
16:41:01
Еще маленькии вопросик может кто знает.
Надо батчем сохранить пачку строк
Строки разряженные (не все колонки есть, скорее в каждой строчке есть только 10% колонок)
очень не хочется пропуски 0 заполнять
а по другому это получаю SQLException: Not all parameters binded
sendRowBinaryStream посмотрел, там та же фигня будет

Алексей
06.07.2017
17:14:34

Vladimir
06.07.2017
17:15:09
при создании таблицы?

Алексей
06.07.2017
17:15:15
ага

Vladimir
06.07.2017
17:15:48
так от этого проверка же в jdbc не исчезнет

Алексей
06.07.2017
17:15:56
есть еще вот https://clickhouse.yandex/docs/ru/query_language/queries.html#alter

Vladimir
06.07.2017
17:16:56
так я насколько понял тут мы до сервера не добераемся
драйвей отклоняет вставку
значение по умолчянию на стороне сервера не помогут
вы пробовали или думаете что поможет?

Алексей
06.07.2017
17:20:05
хм, похоже нужно как-то сделать умолчания на уровне приложения
с этим вам не помогу, с jdbc не знаком

Vladimir
06.07.2017
17:21:32
ну сейчас я просто забиваю все нулями чего у меня нету, но это если честно дебилизм особенно когда нужна производительность.
чувствую как-то можно сделать красиво, но не нашел пока
спсб

papa
06.07.2017
17:23:22

Vladimir
06.07.2017
17:24:01
setFloat по имени а не индексу например

Google

Vladimir
06.07.2017
17:24:19
извините не сюда

papa
06.07.2017
17:24:33
если увас у всех строк определено одинаковое множество столбцов, то если для остальных колонок есть значения по умолчанию то должен работать insert into table(columns) values (values)

Vladimir
06.07.2017
17:25:10
сейчас реально глупо будет по 500 нулей на строку по чети гонять
с*

papa
06.07.2017
17:33:13
а если зашлете строку без нулей, то как определить на каких позициях должны быть нули?

Vladimir
06.07.2017
17:35:03
ну например можно не 100 нулей слать, а кодировкой какой внутренней указать "а теперь у нас 100 нулей тут"
всмысле во внутреннем протоколе
почему так сделано вроде понятно. но вдруг есть обходной путь какой в моем случае

Igor
06.07.2017
17:48:41
да это экономия на спичках

Vladimir
06.07.2017
17:50:06
может быть, но все равно бещать в цикле для каждой строчки 500 раз и сетить 0 отожрет свое
бегать*

papa
06.07.2017
17:50:54
по-моему обычно апдейты приходят из небольшого количества источников, каждый из которых апдейтит свое множество колонок, в этом случае если не сливать эти апдейты в одну кучу, то получается несколько "прямоугольных" вставок.

Vladimir
06.07.2017
17:51:24
тут так не получится
строки от пользователей рандомно приходят

Igor
06.07.2017
19:33:44
Коллеги, подскажите пожалуйста.
Есть загружаемая снаружи таблица вида orders(OrderId UInt32, CountryCode FixedString(2), ...). При этом данных для поля CountryCode в выгрузке нет, они вычисляются из других таблиц БД, а именно есть некоторая таблица ordersByCountries(OrderId UInt32, CountryCode FixedString(2)) которая эти данные содержит.
Надо при загрузке данных в таблицу N1 автоматом подтянуть значение из N2 таблицы по ключу. Как это можно сделать?
Вижу вариант сделать словарь на основе второй таблицы и получать через dictGetString(...) но это выглядит немного извратно.
Есть вариант доп. таблиц и джойна, но тоже много лишних телодвижений.
Можно быть есть способ как то просто заполнить значение, через MATERIALIZED например?

Denys
07.07.2017
07:02:49
Ребята, вижу так никто и не создал issue для jdbc драйвера по поводу ошибки при получении списка колонок)


Vladimir
07.07.2017
08:06:34
Всем привет! Накатили новый билд, и у нас все сломалось :( Апдейт был с 1.1.54236 на 1.1.54245
Ставили отсюда deb http://repo.yandex.ru/clickhouse/xenial stable main
Стало очень много ошибок типа Too much parts. Merges are processing significantly slower than inserts. Хотя нагрузка осталась прежней.
А также в логах проскакивали ошибки вида
2017.07.07 07:40:05.900493 [ 1736 ] <Error> executeQuery: Code: 244, e.displayText() = DB::Exception: Unexpected ZNODEEXISTS while adding block 1083 with ID 5039648854371848924_9213510072702652090: node exists, e.what() = DB::Exception (from 172.33.90.30:30778) (in query: INSERT INTO statistics_109.table_mutable_sharded (...fields...) VALUES), Stack trace:
0. clickhouse-server(StackTrace::StackTrace()+0x16) [0x2969826]
1. clickhouse-server(DB::Exception::Exception(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)+0x1f) [0x108f49f]
2. clickhouse-server(DB::ReplicatedMergeTreeBlockOutputStream::write(DB::Block const&)+0x3596) [0x2aab586]
3. clickhouse-server(DB::PushingToViewsBlockOutputStream::write(DB::Block const&)+0x715) [0x28ff255]
4. clickhouse-server(DB::MaterializingBlockOutputStream::write(DB::Block const&)+0x37) [0x28fd3a7]
5. clickhouse-server(DB::AddingDefaultBlockOutputStream::write(DB::Block const&)+0x281) [0x2bf2a61]
6. clickhouse-server(DB::ProhibitColumnsBlockOutputStream::write(DB::Block const&)+0x5c) [0x2bedeec]
7. clickhouse-server(DB::SquashingBlockOutputStream::finalize()+0x3f5) [0x2d74145]
8. clickhouse-server(DB::SquashingBlockOutputStream::writeSuffix()+0x11) [0x2d742b1]
9. clickhouse-server(DB::TCPHandler::processInsertQuery(DB::Settings const&)+0x31e) [0x10a6f6e]
10. clickhouse-server(DB::TCPHandler::runImpl()+0x6b9) [0x10a7709]
11. clickhouse-server(DB::TCPHandler::run()+0x2b) [0x10a827b]
12. clickhouse-server(Poco::Net::TCPServerConnection::start()+0xf) [0x3274d5f]
13. clickhouse-server(Poco::Net::TCPServerDispatcher::run()+0x13b) [0x327b19b]
14. clickhouse-server(Poco::PooledThread::run()+0xb7) [0x34e6e07]
15. clickhouse-server(Poco::ThreadImpl::runnableEntry(void*)+0xa5) [0x34b2e45]
16. /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba) [0x7f000ccc06ba]
17. /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f000c2e13dd]
Откатились назад. Там были критичные правки? Нет чейнжлога?


Sergey
07.07.2017
08:07:02

Google

Denys
07.07.2017
08:07:36

Vladimir
07.07.2017
08:10:06
А также миллион ошибок вида -
2017.07.07 08:08:23.469231 [ 5584 ] <Error> statistics_148.track_sharded (Merger): Part 20170521_20170531_1913052_3185033_2586 intersects previous part 20170501_20170525_200_2307087_4154
2017.07.07 08:08:23.475581 [ 5584 ] <Error> statistics_148.track_sharded (Merger): Part 20170613_20170618_1284573_1686456_334 intersects previous part 20170611_20170613_1056799_1302331_711
помогите разобраться с этим пожалуйста. Или к кому можно обратиться, чтобы более детально можно было все описать и наконец-то решить все. Мы не можем так жить :(

Andrey
07.07.2017
08:11:27

Vladimir
07.07.2017
08:12:40
Сделать 1рпс на вставку с 20-50к записей балком?

Andrey
07.07.2017
08:13:09

Vladimir
07.07.2017
08:54:39
clickhouse error: [244] DB::Exception: Unexpected ZNODEEXISTS while adding block 153807 with ID 14667436120622000780_2835884480112729262: node exists
После вынесения зукипера на отдельные сервера, стала возникать такая ошибка при вставке в шардирвоанную таблицу? С чем это связано?

Vladimir
07.07.2017
08:54:50
Вернусь к своему вопросу о вставке в широкую таблицу строк со множеством рандомно пропущенных столбцов.
Как думаете может вместо jdbc в таком случае использовать http + TabSeparated формат?
Строку с табами эффективнее копировать чем заполнять Prepared Statement фейковыми нулями

Bulat
07.07.2017
08:57:24
jdbc драйверу кликхауса без разницы PreparedStatement это или нет. В итоге все равно все будет сериализовано в строку и отправлено по хттп
так что можете сами руками лепить любой запрос с любыми заполненными и пропущенными полями, работать будет ровно с такой же скоростью
может даже быстрее, потому что драйверу не надо будет разбирать-собирать строку с "?"

Vladimir
07.07.2017
08:58:32
Да, смотрел сырцы. На моих объемых GC начинает много отжирать привоздании такого кол-ва объектов.
со строками должно быть полегче ему
кто какой еще объем RAM посоветует для машинки?
Данных будет где-то (хм, даже не знаю сколько, в Hbase занимает 10TB)
Машинок 9 под CH приготовим. 32 gb хватит или катострофически мало?

Vladimir
07.07.2017
09:11:34
clickhouse error: [244] DB::Exception: Unexpected ZNODEEXISTS while adding block 153807 with ID 14667436120622000780_2835884480112729262: node exists
А такое никто не встречал? Куда нужно смотреть?

Dig
07.07.2017
09:20:43
Периодически появляются в логе ошибки:
<Error> ZooKeeper: There are 20000 active watches. There must be a leak somewhere
Как реагировать?

Vladimir
07.07.2017
09:27:07
А clickHouse предоставляет платный рисерч кластера на предмет ошибок? К кому с этим вопросом можно обратиться


Vladimir
07.07.2017
09:43:34
2017.07.07 12:12:01.138742 [ 1 ] <Debug> ConfigReloader: Loading config `/etc/clickhouse-server/users.xml'
2017.07.07 12:12:01.140673 [ 1 ] <Warning> ConfigProcessor: Include not found: networks
2017.07.07 12:12:01.170240 [ 1 ] <Warning> ConfigProcessor: Include not found: networks
2017.07.07 12:12:01.193974 [ 1 ] <Information> Application: Loading metadata.
2017.07.07 12:12:01.279892 [ 1 ] <Information> DatabaseOrdinary (default): Total 2 tables.
2017.07.07 12:12:01.343892 [ 2 ] <Information> BackgroundProcessingPool: Create BackgroundProcessingPool with 16 threads
2017.07.07 12:12:01.669168 [ 2 ] <Debug> default.Measures (Data): Loading data parts
2017.07.07 12:12:03.138946 [ 3 ] <Debug> ConfigReloader: Loading config `/etc/clickhouse-server/config.xml'
2017.07.07 12:12:03.140969 [ 3 ] <Warning> ConfigProcessor: Include not found: clickhouse_remote_servers
2017.07.07 12:12:03.141026 [ 3 ] <Warning> ConfigProcessor: Include not found: clickhouse_compression
2017.07.07 12:35:59.247357 [ 2 ] <Debug> default.Measures (Data): Loaded data parts (3 items)
2017.07.07 12:35:59.263356 [ 2 ] <Trace> default.Measures (Data): Found 17121 old parts to remove.
2017.07.07 12:35:59.263401 [ 2 ] <Debug> default.Measures (Data): Removing part 20170706_20170706_2_34846_3403
2017.07.07 12:35:59.585072 [ 2 ] <Debug> default.Measures (Data): Removing part 20170706_20170707_2_34856_3404
...
2017.07.07 12:37:27.132080 [ 2 ] <Information> DatabaseOrdinary (default): 100.00%
2017.07.07 12:37:27.211678 [ 2 ] <Debug> default.measures (Data): Loading data parts
2017.07.07 12:37:27.211779 [ 2 ] <Debug> default.measures (Data): Loaded data parts (0 items)
2017.07.07 12:37:27.259524 [ 1 ] <Information> DatabaseOrdinary (monitoring): Total 0 tables.
2017.07.07 12:37:27.274861 [ 1 ] <Information> DatabaseOrdinary (system): Total 0 tables.
2017.07.07 12:37:27.276178 [ 1 ] <Debug> Application: Loaded metadata.
2017.07.07 12:37:27.310904 [ 1 ] <Information> Application: Listening http://[::1]:8123
2017.07.07 12:37:27.311018 [ 1 ] <Information> Application: Listening tcp: [::1]:9000
2017.07.07 12:37:27.311085 [ 1 ] <Information> Application: Listening interserver: [::1]:9009
2017.07.07 12:37:27.311132 [ 1 ] <Information> Application: Listening http://127.0.0.1:8123
2017.07.07 12:37:27.311175 [ 1 ] <Information> Application: Listening tcp: 127.0.0.1:9000
2017.07.07 12:37:27.311236 [ 1 ] <Information> Application: Listening interserver: 127.0.0.1:9009
2017.07.07 12:37:27.311435 [ 1 ] <Information> Application: Ready for connections.
Это нормально что сервер стартует 25 минут?


Andrey
07.07.2017
10:02:17
я думаю проблема вот в этом
2017.07.07 12:35:59.263356 [ 2 ] <Trace> default.Measures (Data): Found 17121 old parts to remove.

Google

Andrey
07.07.2017
10:04:52
Когда стартует, нагрузка есть по IO?

Vladimir
07.07.2017
10:13:11
не гляянул
думаете так долго читали?
там свего 1млн строк пока

f1yegor
07.07.2017
10:50:32
кто может глянуть на набросок статьи? https://medium.com/@f1yegor/clickhouse-aggregatefunctions-and-aggregatestate-e3fd46b7be74

Vladimir
07.07.2017
11:01:01
clickhouse error: [244] DB::Exception: Unexpected ZNODEEXISTS while adding block 153807 with ID 14667436120622000780_2835884480112729262: node exists
А как с этим бороться? Кто-нибудь может сталкивался с таким? У нас записи не вставляются :(


Никита
07.07.2017
11:04:21
Столкнулся с странной ситуацией при сравнении координат. Есть 2 в целом идентичных запроса, которые дают кардинально разные результаты:
1) SELECT COUNT(*) AS total FROM (
SELECT DISTINCT * FROM traffik
WHERE x BETWEEN :minLat AND :maxLat AND y BETWEEN :minLon AND :maxLon
AND city_id = :cityId AND date>= :fromDate
)
2) SELECT COUNT(*) AS total FROM (
SELECT DISTINCT * FROM traffik
WHERE x*1000000 BETWEEN :minLat*1000000 AND :maxLat*1000000 AND y*1000000 BETWEEN :minLon*1000000 AND :maxLon*1000000
AND city_id = :cityId AND date>= :fromDate
)
Результат выполнения этих запросов:
В первом случае 24 записи, во втором - 136к+
И второй вариант намного более правдоподобен. При домножении координат на большее число результат не изменяется. В чём может быть проблема?
Это какая-то особенность сравнения float'ов?

papa
07.07.2017
11:09:07
дистинкт, звездочка, флоаты, опасными путями ходите.

Alex
07.07.2017
11:09:21
Флоаты в первичном ключе?

papa
07.07.2017
11:10:10
как таблица объявлена, вродt был какой-тj баг с индексами по float32