@clickhouse_ru

Страница 533 из 723
Stas
18.05.2018
20:38:47
insert as select поможет

Pavel
18.05.2018
20:39:03
insert as select поможет
не понял, это как?

Stas
18.05.2018
20:39:34
не понял, это как?
делаем новую таблицу, с новым ключем, в неё переливаем данные из старой таблицы, удаляем старую

Google
Stas
18.05.2018
20:50:05
где про это можно почитать?
про что? про INSERT AS SELECT ? это фича не CH она и в других субд есть

Pavel
18.05.2018
20:50:51
ок, тут более менее понятно

а если я в primary добавлю стобец, у меня запрос с фильтрацией по дню и этому столбцу станет быстрей работать?

с MergeTree

Kirill
18.05.2018
21:04:19
логи есть смысл кому-то отправлять или лучше issue завести?
Да, лучше завести и пример для воспроизведения добавить

Ребят, а это возможно в MergeTree добавить один из столбцов в primary key?
Если не реплицируемая таблица и столбец по умолчанию не изменит порядка сортировки то можно ALTER TABLE T MODIFY PRIMARY KEY, тут есть пример https://github.com/yandex/ClickHouse/blob/1d836b2bf8fef378d47258957ff74ed3a4aff136/dbms/tests/queries/0_stateless/00329_alter_primary_key.sql

Kirill
18.05.2018
21:12:13
а если я в primary добавлю стобец, у меня запрос с фильтрацией по дню и этому столбцу станет быстрей работать?
Скорее всего да, если у вас кардинальность по колонке хорошая то, однозначно, будет работать быстрее.

огонь
Только это нужно делать очень осторожно т.к. легко "покараптить" данные

Alexey
18.05.2018
21:23:03
начало (возможно интригующее): 2018.05.17 18:51:29.405085 [ 60 ] <Error> BaseDaemon: ######################################## 2018.05.17 18:51:29.405098 [ 60 ] <Error> BaseDaemon: (from thread 75) Received signal Segmentation fault (11). 2018.05.17 18:51:29.405106 [ 60 ] <Error> BaseDaemon: Address: NULL pointer. 2018.05.17 18:51:29.405113 [ 60 ] <Error> BaseDaemon: Access: read. 2018.05.17 18:51:29.405119 [ 60 ] <Error> BaseDaemon: Unknown si_code. 2018.05.17 18:51:29.423342 [ 60 ] <Error> BaseDaemon: 0. /usr/bin/clickhouse-server() [0x8084338] 2018.05.17 18:51:29.423402 [ 60 ] <Error> BaseDaemon: 1. /usr/bin/clickhouse-server(void DB::Aggregator::executeImplCase<false, DB::AggregationMethodString<HashMapTable<StringRef, HashMapCellWithSavedHash<StringRef, char*, DefaultHash<StringRef>, HashTableNoState>, Defau ltHash<StringRef>, HashTableGrower<8ul>, Allocator<true> > > >(DB::AggregationMethodString<HashMapTable<StringRef, HashMapCellWithSavedHash<StringRef, char*, DefaultHash<StringRef>, HashTableNoState>, DefaultHash<StringRef>, HashTableGrower<8ul>, Allocator<true> > >&, DB ::AggregationMethodString<HashMapTable<StringRef, HashMapCellWithSavedHash<StringRef, char*, DefaultHash<StringRef>, HashTableNoState>, DefaultHash<StringRef>, HashTableGrower<8ul>, Allocator<true> > >::State&, DB::Arena*, unsigned long, std::vector<DB::IColumn const*, s td::allocator<DB::IColumn const*> >&, DB::Aggregator::AggregateFunctionInstruction*, std::vector<unsigned long, std::allocator<unsigned long> > const&, std::vector<StringRef, std::allocator<StringRef> >&, char*) const+0xc3) [0x80dd003]
По куску лога ничего непонятно. Надо больше подробностей - версия сервера, запрос, структура таблицы.

Google
Stas
18.05.2018
21:27:47
По куску лога ничего непонятно. Надо больше подробностей - версия сервера, запрос, структура таблицы.
таблица: CREATE TABLE db.table ( timestamp UInt64, filename String, list String, host String, path String, standart String, date Date DEFAULT toDate(floor(timestamp / 1000))) ENGINE = Distributed(db, \'db\', \'table\', rand()) запрос после которого плохеет или ноде с которой он отправлен либо рандомной ноде в кластере: select standart from table where date > toDate('2018-05-01') group by standart;

Kirill
18.05.2018
21:49:23
осторожно это как?
Необходимо выполнение нескольких условий: таблица не реплицируемая и у новой колонки не должно быть значения по умолчанию (т.е. она будет либо 0, либо пустая строка) + должен быть старый формат партиционирования. При этом альтере Кликхаус не сильно валидирует что вы там пытаетесь сделать и если что-то пойдет нетак, то при мержах ваши данные превратятся в тыкву - это если кратко

Evgeny
19.05.2018
07:00:57
добрый день кто может подсказать, при выборке из buffer table, какова механика выборки? сначала идет в основную таблицу, а потом проходит по буферу и сливает вместе?

Kirill
19.05.2018
08:10:00
добрый день кто может подсказать, при выборке из buffer table, какова механика выборки? сначала идет в основную таблицу, а потом проходит по буферу и сливает вместе?
Там внутри несколько буферов, читается из буферов и таблицы назначения. Важно что там ставятся при чтении локи, поэтому могут быть проблемы с чтением и записью

Kirill
19.05.2018
10:14:53
а есть способ принудительного сброса буффера в основную таблицу?
OPTIMIZE "запускает" сброс, но способ не является гарантией на 100% сброса всего что есть в буферах на момент выполнения команды (уже может работать сброс запущеный ранее), хотя, отчасти и помогает

Evgeny
19.05.2018
10:15:19
спасибо

Беслан
19.05.2018
14:24:19
коллеги, а если я повесил на табикс ssl, и пропал коннект, то это я сам в колено себе выстрелил?

Stanislav
19.05.2018
14:32:38
повесь ssl и на кх

Броузеры нынче хреново реагируют на смесь http и https

У меня https для кх занимается nginx

Yuran
19.05.2018
16:05:28
Evgeny
19.05.2018
16:06:12
да, это задокументировано, а OPTIMIZE только в исходниках )

Vyacheslav
19.05.2018
19:08:22
erlyvideo.key, однако

Daniel
19.05.2018
19:09:43
erlyvideo.key, однако
apple keynote presentation

Dmitrii
19.05.2018
19:21:33
Привет, а как клиенту подсунуть сертификат или pem при использовании ключа -s (--secure) ?

Kirill
19.05.2018
19:48:14
Привет, а как клиенту подсунуть сертификат или pem при использовании ключа -s (--secure) ?
Ему не нужно что-то руками пихать, нужно чтоб сервер был поднят с tcp_port_secure и для сервера указываете где и какие сертификаты у вас лежат в openSSL https://github.com/yandex/ClickHouse/blob/master/dbms/src/Server/config.xml#L23

Yuri
19.05.2018
21:16:31
echo 'SELECT * FROM shkaff_stat WHERE CreateDate >= '2018-05-18' FORMAT Pretty' | curl 'http://localhost:8123/?' --data-binary @-

Google
Yuri
19.05.2018
21:16:37
выдает ошбику Code: 169, e.displayText() = DB::Exception: Primary key expression contains comparison between inconvertible types: Date and Int64 inside CreateDate >= ((2018 - 5) - 18), e.what() = DB::Exception

делал как в примере https://gist.github.com/alexey-milovidov/6fd9246ce44b48345bee3a0df3da5ab0

что делаю не так?

papa
19.05.2018
21:18:29
видимо, эскейпите кавычки.

Stas
19.05.2018
21:18:55
У меня с явным преобразованием работает...

Yuri
19.05.2018
21:19:22
спасибо, сейчас попробую

echo 'SELECT * FROM shkaff_stat WHERE CreateDate >= toDate('2018-05-18') FORMAT Pretty' | curl 'http://localhost:8123/?' --data-binary @-

Code: 62, e.displayText() = DB::Exception: Argument of function toDate is unquoted: toDate(2018-05-18), must be: toDate('2018-05-18'), e.what() = DB::Exception

вроде как советовали делаю. Или я уже туплю на ночь глядя

papa
19.05.2018
21:22:06
одинарные кавычки в одинарных кавычках

пропадают, судя по результатам.

Yuri
19.05.2018
21:28:03
плюнул, установил клиент, в клиенте все ок

спасибо

Evgeniy
19.05.2018
22:37:11
Наверняка сработало бы Yuri Alexandrovich: echo 'SELECT * FROM shkaff_stat WHERE CreateDate >= toDate('\''2018-05-18'\'') FORMAT Pretty' | curl 'http://localhost:8123/?' --data-binary @-

Oleg Bazdyrev
20.05.2018
10:24:36
Кто-нибудь сталкивался с бесконечным зависанием запросов CREATE TABLE? Лечится только рестартом кликхауса

это жуткая проблема, убивающая огромное количество времени

Kirill
20.05.2018
10:26:54
Кто-нибудь сталкивался с бесконечным зависанием запросов CREATE TABLE? Лечится только рестартом кликхауса
Реплицируемая таблица? Какая версия и есть ли запрос чтоб можно было воспроизвести проблему? А вообще действительно не хватает интерфейса для понимания какие сейчас локи висят

Google
Oleg Bazdyrev
20.05.2018
10:27:36
Да. таблица реплицируемая, версия 1.1.54245.

Запрос? Ну просто create table if not exists (может виснуть и attach partition)

как локи посмотреть?

Kirill
20.05.2018
10:32:46
У вас очень старая версия, скорее всего простое обновление вам поможет. Просто так сейчас нельзя взять и посмотреть что блокирует

Artem
20.05.2018
11:10:58
Если кому интересен опыт удачной эксплуатации "все в докере" - он есть. Вечерком выложу композ и краткие пояснения

Kirill
20.05.2018
13:17:34
Если кому интересен опыт удачной эксплуатации "все в докере" - он есть. Вечерком выложу композ и краткие пояснения
Интересен, иногда, действительно, для лучшей утилизации можно использовать несколько экземпляров КХ на одной машине

Tima
20.05.2018
14:02:46
Интересен, иногда, действительно, для лучшей утилизации можно использовать несколько экземпляров КХ на одной машине
Не стоит. Есть одельное выступление Миловилов, об популярных ошибках в использовании КХ. Там такой пункт есть

Wolf
20.05.2018
14:05:32
Интересен, иногда, действительно, для лучшей утилизации можно использовать несколько экземпляров КХ на одной машине
Не очень понятен смысл, он очень параллельный, как ещё то улучшая утилизацию если вы под нагрузкой можете спокойно забить все память и проц, больше процессора и памяти у вас явно не станет

Wolf
20.05.2018
14:06:37
использование в докере?
Нет много копий кх на одной машине

Denis
20.05.2018
14:17:41
Не стоит. Есть одельное выступление Миловилов, об популярных ошибках в использовании КХ. Там такой пункт есть
А можете скинуть ссылку на выступление? если есть запись, интересно посмотреть

Kirill
20.05.2018
15:40:45
Не стоит. Есть одельное выступление Миловилов, об популярных ошибках в использовании КХ. Там такой пункт есть
Я, кстати, либо не помню, любо не видел такого, но, возможно это как-то вырвано из контекста, это не так. Есть ряд задач в которых контейнеризация дает ощутимую экономию мощностей - если их есть возможность использовать по запросу. Кстати, Яндекс вполне себе работает с КХ в контейнерах.

Не стоит. Есть одельное выступление Миловилов, об популярных ошибках в использовании КХ. Там такой пункт есть
И, не нужно всем верить наслово и всё воспринимать вот так буквально, даже тому, что говорит @milovidov_an ) Пробуйте на своих задачах различные решения ;)

Vladislav
20.05.2018
15:45:15
У @zaglex есть такой опыт

Kirill
20.05.2018
15:48:28
Не очень понятен смысл, он очень параллельный, как ещё то улучшая утилизацию если вы под нагрузкой можете спокойно забить все память и проц, больше процессора и памяти у вас явно не станет
Есть вполне себе задачи когда нагрузка (пиковая) по расписанию, например какой-либо пересчет, все остальное время машина может быть "недозагружена" и, в ряде случаев, на этом можно сильно экономить

Михаил
20.05.2018
15:51:10
Подскажите, пожалуйста, как установить ClickHouse на MacOS? Использовал инструкцию по https://clickhouse.yandex/docs/en/development/build_osx/ Около часа все компилировалось из исходников, а что дальше делать не понимаю. Список файлов в директории после компиляции: .clang-format .editorconfig .git .gitattributes .github .gitignore .gitlab-ci.yml .gitmodules .travis.yml .vimrc AUTHORS CHANGELOG.md CHANGELOG_RU.md CMakeLists.txt CONTRIBUTING.md LICENSE MacOS.md README.md build cmake contrib copy_headers.sh dbms debian docker docker-compose.yml docs format.sh format_sources libs release release_lib.sh utils website

Firej
20.05.2018
15:54:16
кажется оно кудато в build складывается

Google
Михаил
20.05.2018
15:58:21
кажется оно кудато в build складывается
А что именно запускать нужно?

Firej
20.05.2018
15:58:40
не помню, @proller знает )

Михаил
20.05.2018
15:59:05
Благодарю

Kirill
20.05.2018
15:59:15
Это какой то очень не стандартный кейс для кх
Нет, даже имея возможность запустить 10 мелких экземпляров и раскидав в них данные вместо запуска 1, но на всю машину, можно гораздо шустрее обрабатывать запросы.

Wolf
20.05.2018
16:09:18
Нет, даже имея возможность запустить 10 мелких экземпляров и раскидав в них данные вместо запуска 1, но на всю машину, можно гораздо шустрее обрабатывать запросы.
Можете какой то пример дать, как то не очень понимаю как оно будет лучше работать чем просто эти же таблицы положить в один кх

Мне кажется они только будут неравномерно делить ресурсы и медленнее

Tima
20.05.2018
16:15:43
Вот https://youtu.be/Ac2C2G2g8Cg?t=33m18s

Kirill
20.05.2018
16:37:19
Можете какой то пример дать, как то не очень понимаю как оно будет лучше работать чем просто эти же таблицы положить в один кх
Это нужно, по большей степени, когда нам нужно выполнять достаточно большое количество запросов которые должны выполниться максимально быстро. Как пример - это задачи когда КХ служит хранилищем метрик. Разбивать на кучу таблиц в самом КХ не очень хороший способ - его сложно поддерживать, и работать не сильно удобно.

Kirill
20.05.2018
16:40:07
Вся проблема в том, что у нас не объем метрики и задачи совсем другие.

Tima
20.05.2018
16:40:55
Вся проблема в том, что у нас не объем метрики и задачи совсем другие.
Тогда скорее всего КХ вам не нужен. Хотя я применяю КХ для объема до 1ккк строк и работает

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