@clickhouse_ru

Страница 161 из 723
Виктор
05.06.2017
17:04:46
И в ClickHouse нет primary key :)

Dmitry
05.06.2017
17:05:24
я имел ввиду уникальный идентификатор

Stepan
05.06.2017
17:50:41
Ребяты, не подскажите, необходимо производить выгрузку в Excel (для бизнеса) всей таблицы из КХ (обычный select * from table), для такого простого функционала odbc-драйвер КХ-ный пойдет?

Let Eat
05.06.2017
17:51:23
В Excel же 65000 строк максимум было кажется

Google
Stepan
05.06.2017
17:53:18
Вроде до 10 млн, в любом случае нужно выгружать небольшие агрегатные таблички до 1 млн. Для больших объемов, естественно, отдельный скриптец выгрузки

nikoinlove
05.06.2017
17:59:39
В Excel же 65000 строк максимум было кажется
ага, а потом уже начинается bigdata

Igor
05.06.2017
18:17:43
tabix умеет экспорт в csv

papa
05.06.2017
18:20:48
можно и без драйвера, или вам с виндовой машины надо это делать?

Alexey
05.06.2017
19:12:30
а только у меня CODE 500 возвращается по https://github.com/yandex/ClickHouse?

а не

проблема не в CH

Alexey
05.06.2017
19:13:25
У меня тоже - это проблема GitHub.

Alexey
05.06.2017
19:13:43
вот жешь

Google
Alex
05.06.2017
19:22:08
В Excel же 65000 строк максимум было кажется
В старом формате, в xls. В xlsx сильно больше

Denys
05.06.2017
19:33:00
Раскроем секреты: excel <= 2003 2^16 строк, после 2^32

f1yegor
05.06.2017
20:04:03
Ожидаем что люди понимают что уников складывать нельзя
ура, я пройду в яндекс. правда полгода назад я пытался их вычитать)

Let Eat
05.06.2017
21:01:22
Раскроем секреты: excel <= 2003 2^16 строк, после 2^32
В любом случае, люди заморочились написали CH, пошли на кучу компромиссов, чтобы оно шевелилось, а тут хотят бац и в экселюшку все подгрузить.

Либо не влезет, либо зачем CH со всеми его заморочками?

papa
05.06.2017
21:31:56
график нарисовать, тренд посчитать.

Alexey
05.06.2017
22:12:58
а есть какие-нибудь ограничение на кол-во колонок в таблице для Distributed движка?

получилась у нас тут таблица на 719 колонок

если пытаться обратиться к ней через Distributed, то сервер падает

papa
05.06.2017
22:14:22
у нас 500+, не падает.

а что говорит при этом?

Alexey
05.06.2017
22:14:51
у клиента Exception on client: Code: 32. DB::Exception: Attempt to read after eof: while receiving packet from xdray-3:9000, 192.168.157.3 Connecting to xdray-3:9000. Code: 210. DB::NetException: Connection refused: (xdray-3:9000, 192.168.157.3)

в логах сервера ничего не успевает

корка создается

версия CH старовата

завтра попробуем обновиться

сейчас 1.1.54198

Oleg
05.06.2017
22:18:43
можно из любопыства вопрос, что у вас в таком кол-ве колонок хранится?

Alexey
05.06.2017
22:19:47
да пожалуйста

пытаемся сейчас замутить тему с расчетом KPI для оператора сотовой связи

Google
Alexey
05.06.2017
22:20:42
и туда ложатся события сети между MSC и BSC/RNC

они весьма разнообразны и таблица получилась сильно разряжена

Oleg
05.06.2017
22:21:27
м, спс. И как скоросьт вставки на такое? Страшно предствить insert запрос

Alexey
05.06.2017
22:21:29
если реально выяснится, что мы переборщили с таким подходом, будим дробить таблицу

ну пока, как вы понимаете, только идут эксперименты

в локальную таблицу завтра попробуем повставлять

Oleg
05.06.2017
22:22:26
м, успехов

Alexey
06.06.2017
00:15:52
Такое количество столбцов - полностью нормально для ClickHouse. В логах на 192.168.157.3 есть что-нибудь полезное? Например, фрагмент "###" - говорит, что сервер получил сигнал. Ниже будет указан стек трейс. Если нет - смотрите в dmesg.

Alexey
06.06.2017
07:19:33
один раз на сервере проскочил стектрейс. Не уверен, что он относится к моему случаю, т.к. воспроизвести его не могу. 2017.06.05 23:45:14.376130 [ 4 ] <Error> ServerErrorHandler: Code: 210, e.displayText() = DB::NetException: Connection reset by peer: while reading from socket (192.168.157.1:58882), e.what() = DB::NetException, Stack trace: 0. clickhouse-server(StackTrace::StackTrace()+0x16) [0x27a44c6] 1. clickhouse-server(DB::Exception::Exception(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)+0x1f) [0x27b6ccf] 2. clickhouse-server(DB::ReadBufferFromPocoSocket::nextImpl()+0x32b) [0x27b682b] 3. clickhouse-server(DB::TCPHandler::runImpl()+0x1179) [0xff6519] 4. clickhouse-server(DB::TCPHandler::run()+0x1c) [0xff6eec] 5. clickhouse-server(Poco::Net::TCPServerConnection::start()+0xf) [0x2fe17cf] 6. clickhouse-server(Poco::Net::TCPServerDispatcher::run()+0x12b) [0x2fe2e4b] 7. clickhouse-server(Poco::PooledThread::run()+0xa7) [0x30f5817] 8. clickhouse-server(Poco::ThreadImpl::runnableEntry(void*)+0x96) [0x30eff76] 9. /lib64/libpthread.so.0(+0x7dc5) [0x7f8386636dc5] 10. /lib64/libc.so.6(clone+0x6d) [0x7f8383f07ced]

в dmesg ничего особенного не вижу

Andrey
06.06.2017
07:26:55
так это просто клиент ресетнул коннект, ничего такого

Alexey
06.06.2017
07:27:48
ну вот я и говорю, что следов не остается, но по факту падает clickhouse-server к которому цеплялся клиент

вот так в логе: 2017.06.06 10:20:56.472875 [ 6 ] <Trace> TCPConnectionFactory: TCP Request. Address: 192.168.157.1:37452 2017.06.06 10:20:56.472959 [ 6 ] <Debug> TCPHandler: Connected ClickHouse client version 1.1.54198, user: default. 2017.06.06 10:20:59.446788 [ 6 ] <Debug> executeQuery: (from 192.168.157.1:37452) select Timestamp from omega.omega_sccp

после этого все, сервер упал создал core файл

больше нигде ничего

добавлю, что это все на CentOS 7

коллеги, приношу извинение

"дело было не в бабине"

в общем при создании Distributed таблицы я указал на себя же

в результате такое поведение

Google
Alexey
06.06.2017
07:37:50
таблица создалась, но при обращении к ней получается вот такая штука

выглядело это примерно так CREATE TABLE default.test AS default.test_local ENGINE = Distributed(cluster1, default, test);

наверное правильней было бы не дать создать такую рекурсию?

Andrey
06.06.2017
07:51:09
нене, ClickHouse way это кинуть предупреждение, но после соглашения все же позволить выстрелить себе в ногу))

Alexey
06.06.2017
07:51:57
ну вот тут не было предупреждений и в момент создания неправильного объекта, ни в момент обращения к оному

Stepan
06.06.2017
07:52:04
В любом случае, люди заморочились написали CH, пошли на кучу компромиссов, чтобы оно шевелилось, а тут хотят бац и в экселюшку все подгрузить.
Повторюсь, это не более чем дополнительный инструмент, манагерам так удобно, вроде очевидно же

tabix умеет экспорт в csv
Только при показе 700-800к строк (а в csv выгружается столько, сколько отображено) Хром помирает) В общем, поэкспериментирую с odbc-дровами, посмотрим, че как, всем спасибо

Stepan
06.06.2017
08:01:05
Ага

Andrey
06.06.2017
08:01:23
так это, CURL + FORMAT CSV чем не подходит?

Stepan
06.06.2017
08:03:58
так это, CURL + FORMAT CSV чем не подходит?
Опишу чуть больше: дать манагерам/аналитикам инструмент выгрузки небольших табличек в excel-е, чтобы они сами могли еще что посмотреть и поработать с данными у себя на машинах. Вариант работы прям через excel симпатишный, если он не взлетит, то, конечно, можно через курс и отдавать sh-скрипт, это понятное дело

Andrey
06.06.2017
08:05:35
>Вариант работы прям через excel симпатишный тут можно вногу себе выстрелить) Попросив excell показать всю таблицу(а она неожиданно весит терабайты....)

Bulat
06.06.2017
08:06:25
привет. не могу создать создать materialzed view с использованием populate, в оригинальной таблице 40млд записей. сначала была ошибка с нехваткой памяти, подкрутил лимиты для group by, теперь ошибка с тем что не хватает файловых дескрипторов есть какие нибудь настройки для того чтобы делать populate по кусочкам ?

Alexander
06.06.2017
08:16:08
По кусочкам можно, вручную. Делаете MV без populate или с populate на текущий месяц, если там не очень много данных. А потом ручками вставляете в .inner. таблицу кусками

Bulat
06.06.2017
08:20:42
спасибо, попробую

Roman
06.06.2017
08:41:36
Опишу чуть больше: дать манагерам/аналитикам инструмент выгрузки небольших табличек в excel-е, чтобы они сами могли еще что посмотреть и поработать с данными у себя на машинах. Вариант работы прям через excel симпатишный, если он не взлетит, то, конечно, можно через курс и отдавать sh-скрипт, это понятное дело
А как вы лимитируете кол-во записей для выгрузки? Можно ведь и превысить лимиты экселя. Как вы смотрите на вариант создания пользователя КХ с ограниченными правами для манагеров/аналитиков? Тогда они смогут напрямую работать с КХ, ведь он отлично для этого подходит. Или предложить использовать Табикс/Графану, тогда можно будет анализировать данные с любого места и в любое время

Stepan
06.06.2017
08:50:48
А как вы лимитируете кол-во записей для выгрузки? Можно ведь и превысить лимиты экселя. Как вы смотрите на вариант создания пользователя КХ с ограниченными правами для манагеров/аналитиков? Тогда они смогут напрямую работать с КХ, ведь он отлично для этого подходит. Или предложить использовать Табикс/Графану, тогда можно будет анализировать данные с любого места и в любое время
У нас 2 сценария использования для аналитиков/манагеров (все на винде): 1) Повертеть данные, посмотреть что-как обычными запросами любые таблицы (сырые, агрегированные, обогащенные данные). Для этой цели есть ридонли юзеры и им отдается tabix (только в версии чуть более старой, без процессов и всякого доп. мониторинга, т.к. полегче) 2) Выгрузка "агрегатных" таблиц полностью (мы просто говорим, какие таблицы так можно выгружать, а какие нет - это и есть лимитирование) для того, чтобы их повертеть excel, графички построить и т.п. Для этих целей в дальнейшем мб будем использовать какой-нибудь Clickview, но там нужен уже полноценный odbc

yuyu
06.06.2017
12:29:07
Какие-нибудь доки/best practices по подходам к housekeeping в CH не присоветуете? Интересует CH-way для агрегирования/удаления старых/ненужных данных а ля RRD или retention policy в Influx в приложении к time series данным. Диски всё-таки не резиновые.

Pavel
06.06.2017
12:29:23
это больная тема :(

papa
06.06.2017
12:29:35
дропать месяцами.

Google
yuyu
06.06.2017
12:37:14
дропать месяцами.
Месяцами - понятно. А если детальные данные дольше дня-недели-двух не нужны? Заморачиваться с таблицей на каждый день и дропом или переименованием? Можно ли для этого использовать движок Merge в котором будет обновляемый список (много) MergeTree таблиц? Или тут могут быть грабли?

Alexey
06.06.2017
12:46:16
все затаились и ждут доработки с произвольным партиционированием (ну или хотяб по дням). ну или в вашем случае можно попробовать глянуть на https://clickhouse.yandex/docs/ru/table_engines/graphitemergetree.html

но это совсем не дженерик вариант

Pavel
06.06.2017
12:47:23
я лично затаился и жду, костылиазация ретеншена очень неприятная и сложная

но это скорее будет не ретеншен, а просто дроп старых данных

но, опять же, вручную имея возможность дропать данные по дням это будет легко реализовать вручную, обрабатывается день, перекладывается вдругую базу - дропается

и так каждый день

Andrey
06.06.2017
13:50:40
Ребят, а конвертация MergeTree в ReplicatedMergeTree возможна?

И на сколько ресурсоемкая операция?

Andrew
06.06.2017
13:54:00
ребят а как кто делает бекапы clickhouse?

Alexander
06.06.2017
14:12:26
Ребят, а конвертация MergeTree в ReplicatedMergeTree возможна?
Переименовать старую, создать новую, скопировать данные. Может быть можно обойтись без копирования, через detach/attach партиций. Но если данных не очень много, то спокойнее через insert-select.

Bulat
06.06.2017
14:13:56
а если вставлять напрямую в inner таблицу, репликация данных пройзойдет или надо вручную на каждом хосте делать insert ?

Alexander
06.06.2017
14:47:15
Если inner таблица реплицируема, то, конечно, репликация будет

Bulat
06.06.2017
14:47:49
спасибо за информацию

Pavel
06.06.2017
15:15:02
а кто-либо юзал кликхаус вместе с ZFS?

(на линуксе, естественно)

Bulat
06.06.2017
15:17:36
а в чем профит такой комбинации?

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