@clickhouse_ru

Страница 632 из 723
Edya
23.08.2018
08:43:19
смотря, что нужно сделать. Например, когда поверх выборки нужно сделать какую-то непростую агрегацию. Не говоря, уже о том, что нужно, достать какие-то значения из справочников или других таблиц, добавить их к данным из длинных строк и т.п..., тут греп не поможет

Konstantin
23.08.2018
09:28:10
подскажите можно каким-либо параметром изменить лимит на передачу данных по сети? DB::Exception: Limit for bytes to send or receive over network exceeded. Maximum: 10000000000

Kirill
23.08.2018
09:29:42
Konstantin
23.08.2018
09:30:50
спасибо

Google
Алексей (OPS)
23.08.2018
09:39:38
Подскажите пожалуйста есть запрос SELECT task_id, week, day, lesson_num as num, text as name, task FROM tasks ANY LEFT JOIN (SELECT day, num, text FROM lessons ANY LEFT JOIN lesson_ids USING id ) USING day, num куда вставить FIANL ? если вставляю после FROM tasks....



Alexander
23.08.2018
09:57:09
вангую опечатку FIANL => FINAL

Oleh
23.08.2018
10:16:30
Всем привет, подскажите плиз, хотим сделать какой-то proxy с sql запросов в clickhouse, кто-то уже делал такое?

Алексей (OPS)
23.08.2018
10:19:12
вангую опечатку FIANL => FINAL
огромное спасибо! ~10 мин втыкал и не мог найти ошибку

Oleh
23.08.2018
10:20:27
nginx с round-robin
Я имел ввиду немного другое походу. У нас есть тула которая генерит sql запросы, например для mysql. Мы хотим тулу которая из mysql формата сделает запрос в кликхаус

Evgeny
23.08.2018
10:21:19
proxysql

Oleh
23.08.2018
10:21:34
пробовали его, он вроде как нормально с авторизацией не работает

там C++, фиксить что-то нереально, супер олд стайл с ссылкой на ссылку на ссылку на ссылку и тд

Evgeny
23.08.2018
10:22:55
можно поисследовать вопрос nginx+lua

сам не делал

Google
Roman
23.08.2018
10:31:08
Добрый день. Можно ли создавать Distributed не на Replicated таблицах?

Ivan
23.08.2018
10:31:53
Roman
23.08.2018
10:32:40
В чем страх и риск? В том что реплики нет?

Constantine
23.08.2018
10:33:28
Кроме реплики (она обеспечена иными механизмами) еще какие то ?

Vitaliy
23.08.2018
10:43:41
Я имел ввиду немного другое походу. У нас есть тула которая генерит sql запросы, например для mysql. Мы хотим тулу которая из mysql формата сделает запрос в кликхаус
у КХ свой диалект и очень своеобразный JOIN, вряд ли удастся автоматически транслировать из SQL для mysql кроме самых примитивных случаев. Проще добавить в свою тулзу поддержу КХ, или использовать другую тулзу которая умеет напрямую лазить в КХ.

Andrei
23.08.2018
11:22:50
Я имел ввиду немного другое походу. У нас есть тула которая генерит sql запросы, например для mysql. Мы хотим тулу которая из mysql формата сделает запрос в кликхаус
Можно распарсить sql запрос , например через Calcite. Он вполне mysql диалектик понимает и на основе полученного AST сгенерировать запрос для Clickhouse. Что-то подобное мы уже делали, если интересно, то в личку. Но, как выше уже написали, не любой запрос получится транслировать.

Oleh
23.08.2018
11:32:52
спасибо

Sasha
23.08.2018
13:23:46
Добрый день! Подскажите, пожалуйста, примерную конфигурацию необходимого железа под ClickHouse. Планируется 2 реплицируемые ноды ClickHouse (или эффективнее шардировать дополнительно?) и 3 ноды ZooKeper (с ним по железу все понятно). Предполагаемая нагрузка: 1500 записей/сек 20 колонок 15 млрд строк в таблице Запросы преимущественно простые avg, sum, count по времени и различным полям с использованием словаря из MySQL

Michal
23.08.2018
13:57:26
Общие рекомендации - см. тут https://clickhouse.yandex/docs/ru/operations/tips/

Ну и в случае ClickHouse и железом - всё довольно линейно и честно. Будет больше быстрее CPU - будет быстрее считать, больше памяти - больше кэшовать, быстрее диск - быстрее читать с диска, толще сеть - быстрее передавать данные/быстрее реплицировать. От средненького сервера стоит ждать производительности около 1.5-2Гбайт в сек для горячих данных, и (скорость линейного чтения диска) для холодных данных.

Stanislav
23.08.2018
14:03:34
У меня примерно такая же нагрузка была вообще в виртуалках о 8Гб и двух ядрах.

Другой вопрос, что пришлось ограничить объём памяти для запросов...

На запись - порядка 15к записей в разные таблицы (telegraf + ещё всякое). Проблем не было.

точнее, были, но не на запись, а в сложных запросах.

Артем
23.08.2018
14:49:08
как эфективно при вставке из файла преобразовывать дату с таймзоной в дату, т.е 2017-06-25 11:34:44.000+0300 -> 2017-06-25 11:34:44

Артем
23.08.2018
15:12:05
если возможно, используйте unixtime
нет, данные прилетают из внешнего источника, сделал вот так, поправил структуру таблицы  event_date DEFAULT toDateTime(substring(event_time, 1, 19)

Konstantin
23.08.2018
17:38:02
А что такая ошибка означает и как это отлаживать? SELECT count(*) FROM mod_groups_tbl Received exception from server (version 18.10.3): Code: 49. DB::Exception: Received from click:9000, 172.18.0.2. DB::Exception: Could not find a column of minimum size in MergeTree, part /var/lib/clickhouse/data/default/mod_groups_tbl/20180823_1181_1181_0/. 0 rows in set. Elapsed: 34.633 sec.

0. /usr/lib64/libclickhouse.so.18(StackTrace::StackTrace()+0x25) [0x7f688b059635] 1. clickhouse-server(DB::Exception::Exception(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)+0x39) [0x22db659] 2. /usr/lib64/libclickhouse.so.18(DB::MergeTreeDataPart::getColumnNameWithMinumumCompressedSize[abi:cxx11]() const+0x18a) [0x7f688ae7138a] 3. /usr/lib64/libclickhouse.so.18(DB::injectRequiredColumns(DB::MergeTreeData const&, std::shared_ptr<DB::MergeTreeDataPart const> const&, std::vector<std::__cxx11::basic_string<c har, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)+0x99a) [0x7f688ae393da] 4. /usr/lib64/libclickhouse.so.18(DB::MergeTreeBlockInputStream::getNewTask()+0x19c) [0x7f688ae3175c] 5. /usr/lib64/libclickhouse.so.18(DB::MergeTreeBaseBlockInputStream::readImpl()+0x47c) [0x7f688ae2f17c] 6. /usr/lib64/libclickhouse.so.18(DB::IProfilingBlockInputStream::read()+0x242) [0x7f688a29f982] 7. /usr/lib64/libclickhouse.so.18(DB::ExpressionBlockInputStream::readImpl()+0x2e) [0x7f688a28529e] 8. /usr/lib64/libclickhouse.so.18(DB::IProfilingBlockInputStream::read()+0x242) [0x7f688a29f982] 9. /usr/lib64/libclickhouse.so.18(DB::MaterializingBlockInputStream::readImpl()+0x3b) [0x7f688a2a65bb] 10. /usr/lib64/libclickhouse.so.18(DB::IProfilingBlockInputStream::read()+0x242) [0x7f688a29f982] 11. /usr/lib64/libclickhouse.so.18(DB::MergingSortedBlockInputStream::init(std::vector<COWPtr<DB::IColumn>::mutable_ptr<DB::IColumn>, std::allocator<COWPtr<DB::IColumn>::mutable_p tr<DB::IColumn> > >&)+0xed) [0x7f688a2c3c7d] 12. /usr/lib64/libclickhouse.so.18(DB::MergingSortedBlockInputStream::readImpl()+0x66) [0x7f688a2c52e6] 13. /usr/lib64/libclickhouse.so.18(DB::IProfilingBlockInputStream::read()+0x242) [0x7f688a29f982] 14. /usr/lib64/libclickhouse.so.18(DB::MergeTreeDataMergerMutator::mergePartsToTemporaryPart(DB::MergeTreeDataMergerMutator::FuturePart const&, DB::MergeListEntry&, unsigned long, long, DB::DiskSpaceMonitor::Reservation*, bool)+0x2b7b) [0x7f688ae60d9b] 15. /usr/lib64/libclickhouse.so.18(DB::StorageMergeTree::merge(unsigned long, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool, b ool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)+0x461) [0x7f688ad83081] 16. /usr/lib64/libclickhouse.so.18(DB::StorageMergeTree::backgroundTask()+0x17c) [0x7f688ad8571c] 17. /usr/lib64/libclickhouse.so.18(DB::BackgroundProcessingPool::threadFunction()+0x48d) [0x7f688ae0d06d]

Google
Konstantin
23.08.2018
17:47:57
18. /usr/lib64/libstdc++.so.6(+0xea6de) [0x7f6888b0f6de] 19. /lib64/libpthread.so.0(+0x78ea) [0x7f68882a58ea] 20. /lib64/libc.so.6(clone+0x3f) [0x7f6887fdb4df] в логах. Это что-то известное? пытаться пересобрать с debug информацией?

Denis
23.08.2018
18:04:06
docker ? каталог такой вообще есть? /var/lib/clickhouse/data/default/mod_groups_tbl/20180823_1181_1181_0/ ?

Konstantin
23.08.2018
18:08:30
есть, там как-то мало файлов по сравнению с другими каталогами

попробовал его mv в другое место, нет результата. ALTER DROP PART нельзя

в докере, собирал сам, ага

Denis
23.08.2018
18:11:54
optimize mod_groups_tbl partition 20180823 final; ругается?

Dmitry
23.08.2018
18:17:47
Возможно ли сгенировать UUID в поле String при insert ??

Denis
23.08.2018
18:27:57
КХ afaik не умеет генерировать UUID, наверное можно генерить в линуксе uuidgen, только это медленно, и вообще нафига?

Konstantin
23.08.2018
19:10:09
optimize mod_groups_tbl partition 20180823 final; ругается?
PARTITION 20180823 FINAL говорит OK, а просто OPTIMIZE TABLE mod_groups_tbl ругается

как ему сказать "забудь про этот кусок оно тебе не нужно?" (хотя также непонятно, откуда он взялся)

Alexey
23.08.2018
19:34:54
Detach partition, убрать это кусок, и attach partition

Konstantin
23.08.2018
19:38:33
кусок - это не то же самое, что partition

Dmitry
23.08.2018
19:39:57
КХ afaik не умеет генерировать UUID, наверное можно генерить в линуксе uuidgen, только это медленно, и вообще нафига?
просо в КХ есть функци generateUUIDv4() но она генерит тип UUID который хоть возвращается, как String при format JSON, но с периодически там проскакивают UUID с символом переноса строки, что является невалидным JSON при парсинге

отловить не удалось к сожалению и приходится на стороне сервера генерить UUID и подставлять в запрос

Tima
23.08.2018
20:05:14
Наконец дошли руки выложить обновление либы для NodeJS https://www.npmjs.com/package/clickhouse Следующим шагом хочу сделать pull request для sequelizejs, чтобы начать нормально мигрировать схему кодом, а не ручками

Tima
23.08.2018
20:29:47
Скорее более новая, дополненая версия моей либы

Evgeny
23.08.2018
20:30:37
Прост я вижу знакомый код в который вносил правки для энкодинга и массивов

Tima
23.08.2018
20:31:54
Прост я вижу знакомый код в который вносил правки для энкодинга и массивов
Да, я изучал код этой либы, кое-что понравилось, кое-что - нет. А вообще, сложно сказать зачем их две нужно

Evgeny
23.08.2018
20:32:08
перенесите себе правки для массивов?

Google
Evgeny
23.08.2018
20:33:22
https://github.com/apla/node-clickhouse/compare/master...nordluf:master#diff-8ef9dca8337352d25d94a095082a480e Нужны только правки для первого файла - process-db-value

Tima
23.08.2018
20:33:32
В планах - да. Мы активно используем массивы, но там костыли поверх драйвера. А хочется написать и забыть

Vadim
24.08.2018
03:51:33
Кто-то сталкивался с подобным: Part 20180823_20180823_300293_300298_1 (state Outdated) should be deleted after previous attempt before fetch ?

идет сразу после [ 29 ] <Error> default.graphite (StorageReplicatedMergeTree): Code: 40, e.displayText() = DB::Exception: Checksums of parts don't match: hash of uncompressed files doesn't match, uncompressed hash of compressed files doesn't match, e.what() = DB::Exception. Data after merge is not byte-identical to data on another replicas. There could be several reasons: 1. Using newer version of compression library after server update. 2. Using another compression method. 3. Non-deterministic compression algorithm (highly unlikely). 4. Non-deterministic merge algorithm due to logical error in code. 5. Data corruption in memory due to bug in code. 6. Data corruption in memory due to hardware issue. 7. Manual modification of source data after server startup. 8. Manual modification of checksums stored in ZooKeeper. We will download merged part from replica to force byte-identical result.

и так после каждого мерджа, который откатывает и начинает с начала

Ещё перед каждым удалением: default.graphite (Data): Undoing transaction. Removing parts: 20180823_20180823_300293_300298_1.

причем на ноде-доноре(в которую вставляются данные) это происходит реже(там около 10 таких мерджей), а на второй, котрая принимает реплику - больше(38 проблемных мерджей). Если не остановить реплику, то сервер весь будет занят исключительно откатываемыми мерджами

Wolf
24.08.2018
04:11:48
Ну у вас чексуммы не сходятся

Смотрите диски процессор память

Vadim
24.08.2018
04:17:14
как только удаляю таблицу на любом из серверов, все работает замечательно, начинаю лить, ошибки с последними данными

Wolf
24.08.2018
04:17:57
Ну так у них чексуммы не сходятся

Vadim
24.08.2018
04:19:22
пробовал принять реплику на виртуалку, та же беда, неужели проблема в сервере-доноре

Wolf
24.08.2018
04:30:31
Ну или в сети

У вас чексумма не сходится

Либо она не правильная это зависит от процессора и памяти

Либо файл меняется это зависит от дисков

Ну либо по сети файлы бьются

Ну как вариант может у вас два кх запущено

Или какой то софт ещё что то делает с данными

Google
Vadim
24.08.2018
04:31:57
сейчас сменил донора и реплицирую на виртуалку, если все выйдет, значит проблема на 1м сервере

КХ один работает, странно Спасибо, посмторим, что с репликацией будет текущей

Wolf
24.08.2018
04:37:03
ну посмотрите syslog dmesg

если железная проблема то там обычно ошибки валятся

Vadim
24.08.2018
04:37:47
смотрел, пусто, даже mcelog включил

в messages нашел только kernel: perf: interrupt took too long (9928 > 9903), lowering kernel.perf_event_max_sample_rate to 20000

в зукипере может что-то сломаться из-за торможения? java: 2018-08-23 18:12:20,749 [myid:2] - WARN [SyncThread:2:FileTxnLog@338] - fsync-ing the write ahead log in SyncThread:2 took 1502 ms which will adversely effect operation latency. See the ZooKeeper troubleshooting guide

когда реплика льется, полностью утилизирует сеть принимающего(1ГБит) и последний подтормаживает

Wolf
24.08.2018
04:51:43
А какая разница зукиперу он же отдельно сидит обычно

Vadim
24.08.2018
05:00:23
у нас зукиперы на хостах с КХ

Wolf
24.08.2018
05:01:16
а ну хз какие тут могут быть сайд эффекты , мне кажется это странным решением конечно

Андрей
24.08.2018
06:25:30
у нас зукиперы на хостах с КХ
это зря, лучше сделать отдельные ноды под ZK

Vadim
24.08.2018
06:27:06
вынесем, как репликация заработает, все работало на версии 1.54390, обновились до 18.6.0 и начались проблемы

Wolf
24.08.2018
06:28:58
Ну тогда просто откатитесь

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