@clickhouse_ru

Страница 214 из 723
Рулон
26.07.2017
14:28:31
я жду ODBC .... (

Dmitrii
26.07.2017
14:29:43
отличное нахвание для песни

Alexander
26.07.2017
14:30:36
Failed to load resource: net::ERR_RESPONSE_HEADERS_TOO_BIG
Вчера тоже самое начало появляться. После обновления КХ на последний тестинг. Из нативного клиента все ок. Но табикс вообще стабильностью не блещит на вид.

Vasiliy
26.07.2017
14:56:17
`2017.07.25 21:05:16.433264 [ 71 ] <Error> events_distributed.Distributed.DirectoryMonitor: Code: 999, e.displayText() = DB::Exception: Received from 1.1.1.1:9000. zkutil::KeeperException. zkutil::KeeperException: connection loss, path: /clickhouse/tables/shard_ch1/events_local/temp/abandonable_lock-. Stack trace: 0. clickhouse-server(StackTrace::StackTrace()+0x16) [0x28ae4d6] 1. clickhouse-server(DB::Exception::Exception(std::string const&, int)+0x1f) [0x102a3af] 2. clickhouse-server(zkutil::KeeperException::KeeperException(int, std::string const&)+0x7a) [0x2814c8a] 3. clickhouse-server(zkutil::ZooKeeper::tryCreate(std::string const&, std::string const&, int, std::string&)+0x52) [0x28c4682] 4. clickhouse-server(zkutil::ZooKeeper::create(std::string const&, std::string const&, int)+0x47) [0x28c46f7] 5. clickhouse-server(DB::AbandonableLockInZooKeeper::AbandonableLockInZooKeeper(std::string const&, std::string const&, zkutil::ZooKeeper&)+0x74) [0x29a2564] 6. clickhouse-server(DB::StorageReplicatedMergeTree::allocateBlockNumber(std::string const&, std::shared_ptr<zkutil::ZooKeeper>&)+0xfc) [0x299187c] 7. clickhouse-server(DB::ReplicatedMergeTreeBlockOutputStream::commitPart(std::shared_ptr<zkutil::ZooKeeper>&, std::shared_ptr<DB::MergeTreeDataPart>&, std::string const&)+0x198) [0x2a23068] 8. clickhouse-server(DB::ReplicatedMergeTreeBlockOutputStream::write(DB::Block const&)+0x27c) [0x2a25e9c] 9. clickhouse-server(DB::PushingToViewsBlockOutputStream::write(DB::Block const&)+0x486) [0x2b38906] 10. clickhouse-server(DB::MaterializingBlockOutputStream::write(DB::Block const&)+0x28) [0x2b27698] 11. clickhouse-server(DB::AddingDefaultBlockOutputStream::write(DB::Block const&)+0x235) [0x2c6f295] 12. clickhouse-server(DB::ProhibitColumnsBlockOutputStream::write(DB::Block const&)+0x4f) [0x2c892af] 13. clickhouse-server(DB::SquashingBlockOutputStream::finalize()+0x455) [0x2c507f5] 14. clickhouse-server(DB::SquashingBlockOutputStream::writeSuffix()+0x11) [0x2c50981] 15. clickhouse-server(DB::TCPHandler::processInsertQuery(DB::Settings const&)+0x2ce) [0x104405e] 16. clickhouse-server(DB::TCPHandler::runImpl()+0x67a) [0x10447aa] 17. clickhouse-server(DB::TCPHandler::run()+0x1c) [0x104540c] 18. clickhouse-server(Poco::Net::TCPServerConnection::start()+0xf) [0x315d0af] 19. clickhouse-server(Poco::Net::TCPServerDispatcher::run()+0x10b) [0x317ac3b] 20. clickhouse-server(Poco::PooledThread::run()+0x87) [0x337b807] 21. clickhouse-server(Poco::ThreadImpl::runnableEntry(void*)+0x96) [0x333d456] 22. /lib/x86_64-linux-gnu/libpthread.so.0(+0x8184) [0x7f22c15da184] 23. /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f22c0bf537d] , e.what() = DB::Exception, Stack trace: 0. clickhouse-server(StackTrace::StackTrace()+0x16) [0x29b2626] 1. clickhouse-server(DB::readException(DB::Exception&, DB::ReadBuffer&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0xe3a) [0x29e044a] 2. clickhouse-server(DB::Connection::receiveException()+0xec) [0x2bbea8c] 3. clickhouse-server(DB::Connection::receivePacket()+0x95f) [0x2bc86ef] 4. clickhouse-server(DB::RemoteBlockOutputStream::writeSuffix()+0x1d2) [0x2c75612] 5. clickhouse-server(DB::StorageDistributedDirectoryMonitor::processFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x70e) [0x2afdc2e] 6. clickhouse-server(DB::StorageDistributedDirectoryMonitor::findFiles()+0x154) [0x2aff734] 7. clickhouse-server(DB::StorageDistributedDirectoryMonitor::run()+0xc5) [0x2affdd5] 8. clickhouse-server() [0x36d9f1f] 9. /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba) [0x7f72753366ba] 10. /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f72749573dd] `

Google
Vasiliy
26.07.2017
14:57:05
Сори за большой стек, в clickhous'е нет таймаутов на зукипер?

Rayan
26.07.2017
15:29:53
Ребята, а можно линк на англоязычный ClickHouse Telegram Chat?

Oleksandr
26.07.2017
15:30:24
https://t.me/clickhouse_en

Fike
26.07.2017
15:30:25
@clickhouse_en ?

Rayan
26.07.2017
15:30:36
спасибо

Maxim
26.07.2017
16:55:01
Ребят опять вопросы, на серваке со статикой, стоит работает, прикинул порты для tcp, http перезапустил iptables, http по удаленке работает, а вот tcp рефьюсед, выдает ошибку 210

То есть даже с локалки по статику не могу подключиться

Alexey
26.07.2017
16:57:35
это как-то относится к CH?

Maxim
26.07.2017
17:00:44
Так понимаю была проблема в внешнке, тогда бы мне вообще не пускало, а так именно ch refussed делает

Vladimir
26.07.2017
17:42:49
Так понимаю была проблема в внешнке, тогда бы мне вообще не пускало, а так именно ch refussed делает
8123 или порт через который идёт проксирование сервиса в firewalld не разрешен. Также может быть запрещено в настройках ch

Maxim
26.07.2017
17:43:07
файрфолл поправил

8123 - http

Alexander
26.07.2017
18:53:20
А в addImpl из IColumn (ColumnVector) можно как-то извлечь что-то типа глобального номера строки или номера части? Для понимания последовательности при мердже.

Google
sha-bang
26.07.2017
20:54:47
Всем привет. Не подскажите по поводу внешних словарей? Подцепил mysql все хорошо, по одному id данные вытягиваются. Вот так: SELECT dictGetString('api_keys', 'key', toUInt64(1365)) Вопрос в том, можно ли как-то здесь не один id получать, а все? Что-то вроде like '%' SELECT dictGetString('api_keys', 'key', toUInt64(%))

Andrey
26.07.2017
21:01:57
Всем привет. Не подскажите по поводу внешних словарей? Подцепил mysql все хорошо, по одному id данные вытягиваются. Вот так: SELECT dictGetString('api_keys', 'key', toUInt64(1365)) Вопрос в том, можно ли как-то здесь не один id получать, а все? Что-то вроде like '%' SELECT dictGetString('api_keys', 'key', toUInt64(%))
Изначально словари не для этого, они для расшифровки id в результатах запросов. Но в последнем релизе появился движок dictionary. Можно создать одноименную со словарём таблицу и в ней будут все данные словаря. Там я думаю можно и like. Подробнее в доках.

sha-bang
26.07.2017
21:09:46
Вы про это https://clickhouse.yandex/docs/ru/dicts/external_dicts.html если да, то я как раз их и использую

Vasiliy
26.07.2017
21:25:05
Сталкиваемся, но редко - когда у ZK изменение лидера или когда проблемы с сетью.
Да, в этот момент как раз изменение лидера было, потому что старый не ответил за 5 секунд. Я поднял таймат - сейчас вроде ок заливается. Спасибо за информацию!

Alexey
26.07.2017
21:26:18
Сори за большой стек, в clickhous'е нет таймаутов на зукипер?
Есть таймауты на ZooKeeper. Также есть известная проблема, что изредка эти таймауты не работают (баг библиотеки libzookeeper).

Vasiliy
26.07.2017
21:28:08
Если ZK установлен на тех же серверах, что и ClickHouse, то имеет смысл разнести по отдельным серверам.
Да, так и есть - на тех же стоит. Кластер пока не такого размера, чтобы выносить + это разовая большая операция по перекидыванию данных.

Alexey
26.07.2017
21:29:02
Всем привет. Не подскажите по поводу внешних словарей? Подцепил mysql все хорошо, по одному id данные вытягиваются. Вот так: SELECT dictGetString('api_keys', 'key', toUInt64(1365)) Вопрос в том, можно ли как-то здесь не один id получать, а все? Что-то вроде like '%' SELECT dictGetString('api_keys', 'key', toUInt64(%))
Можно. CREATE DATABASE dictionaries ENGINE = Dictionary Далее смотрите внутрь - там будут таблицы для каждого словаря, из которых можно делать SELECT-ы. Работает нормально только в последней testing версии ClickHouse. В последней stable почти работает, но есть одна неприятная недоделка...

Да, так и есть - на тех же стоит. Кластер пока не такого размера, чтобы выносить + это разовая большая операция по перекидыванию данных.
Тут гипотеза такая, что увеличение нагрузки на ClickHouse вызывает слишком большое увеличение latency в ответах ZooKeeper. Короче говоря, они не дружат будучи на одном сервере.

sha-bang
26.07.2017
21:32:21
@Artashes04 Да все верно и оно так работает, когда указываешь конкретное число. А мне нужно чтобы он вернул не только для этого конкретного id, а для всех id

Vasiliy
26.07.2017
21:32:57
Тут гипотеза такая, что увеличение нагрузки на ClickHouse вызывает слишком большое увеличение latency в ответах ZooKeeper. Короче говоря, они не дружат будучи на одном сервере.
Да, примерно так же и рассуждал из-за этого и поднял таймауты. В любом случае как будем расти - вынесем их на отдельные машинки. Спасибо!

sha-bang
26.07.2017
21:34:55
@milovidov_an ok, понял. спасибо!

Alexander
26.07.2017
21:36:57
Нет, этот интерфейс такое не позволяет.
А можно проконсультироваться. Если предпринять попытку протащить - то через него? Или может виртуальную колонку сделать и на нее ориентироваться? Но не уверен что это лучше.

Alexey
26.07.2017
21:39:26
Тоже пока не уверен, как лучше. Что за агрегатные функции будут. Радикальный вариант (если они во многом не такие как агрегатные функции) - это назвать их по особенному и сделать для них особенный интерфейс (возможно, они будут требовать отдельной стадии в конвейере выполнения запроса). Менее радикальный - добавить ещё один метод рядом с addImpl, который принимает нужную информацию. Использовать его только для "особенных" функций, а для обычных - пусть кидает исключение.

Alexander
26.07.2017
21:42:38
Информация нужна в merge скорее всего. И наверное действительно - через Date это нет смысла тащить (все равно в addImpl нет.

Пока просто больше ради интереса, ну и для начала, пытался exactLast сделать.

Alexey
26.07.2017
21:47:01
Была идея - добавить в MergeTree виртуальный столбец _row_number. Он был бы не постоянным, а менялся при каждом мерже. Его порядок соответствовал бы кортежу из порядка вставки и первичного ключа.

Google
Alexander
26.07.2017
21:53:19
Но там где нужен только порядок блока это много одинаковых ненужных данных в памяти держать. Хотя может для других каких-то функций это универсальнее.

Alexey
26.07.2017
21:53:40
Что значит подобное ругательство в логе? Written 686516 elements of column date, but 686517 rows of PK columns
В одной из testing версий на позапрошлой неделе, которая так и не стала stable, была такая ошибка при мерже. При наличии этой ошибки, мерж не сможет выполниться. Сейчас варианты - либо дождаться следующей версии, либо самому собрать последний тег.

Опубликовал новую testing версию - 1.1.54262. Это release candidate на завтра.

Roman
26.07.2017
22:08:46
Если нужно проверить, есть ли несколько подряд идущих строк, удовлетворяющих определенным условиям (например, 5 строк подряд, где значение больше 0), есть ли какой-то красивый способ? Придумал только через groupArray и arrayFilter, но получается громоздко.

Alex
27.07.2017
11:04:32
Всем привет, кто-то может подскажет как проверить сжимает ли данные кликхаус и как его включить? Насколько я понимаю по дефолту должен жать через lz4, открываю файлы за какой-то период и вижу *.mrk и *.bin, т.е. бин - это уже сжатые? Как тогда заставить её удалять старые mrk?

Три месяца прошло с момента создания записей

Хотя mrk это похоже "засечки"

Alex
27.07.2017
11:13:46
Тогда след вопрос - если я поменяю метод компресии на zstd и само собой поставлю его в систему, сервер сам со временем пожмёт старые данные, или только новые будет жать?

Vitaliy
27.07.2017
11:18:14
Тогда след вопрос - если я поменяю метод компресии на zstd и само собой поставлю его в систему, сервер сам со временем пожмёт старые данные, или только новые будет жать?
Все новые вставки и мержи старых данных будут использовать новый алгоритм. В .bin файле записана информация каким алгоритмом он пожат.

Vitaliy
27.07.2017
11:20:18
Да

(Если мержи действительно назначатся)

Евгений
27.07.2017
11:26:36
(Если мержи действительно назначатся)
https://clickhouse.yandex/docs/en/query_language/queries.html#optimize FINAL должен назначить в любом случае

Диана
27.07.2017
11:33:18
Всем привет, не подскажите по поводу запроса по двум таблицам? Есть две таблицы. В первой таблице есть столбец, в которой имеется колонка с массивами индексов второй таблицы. Никак не могу их сджойнить.

Правильно ли вообще так делать?

CREATE TABLE test_one ( int0 Int32, int1 Int32, topics Array(Int32) ) CREATE TABLE test_two ( topics_id Int32 topics String )

Google
Admin
ERROR: S client not available

papa
27.07.2017
11:38:20
так работает? select .. from (select t from test_one array join topics as t) join (select topics_id as t from test_two) using t ?

Диана
27.07.2017
11:52:01
с ошибкой валится синтаксической

"expected )" хотя вроде все скобки закрыты

Tima
27.07.2017
11:54:30
так работает? select .. from (select t from test_one array join topics as t) join (select topics_id as t from test_two) using t ?
Скорее так select * from (select t from test_one array join topics as t) all left join (select topics_id as t from test_two) using t http://joxi.ru/8AnODGPhqK0xPr Для JOIN нужно явно указывать какой, LEFT или INNER, а так же ALL или ANY

Диана
27.07.2017
11:56:03
заработало, спасибо огромное)

сейчас заметила, что при добавлении столбцов в select второй таблицы, он не переносит их в общую, не знаете с чем это может быть связано?

ведь при all left join он должен соответственно общему столбцу переносить в общую таблицу и указанные в селекте значения правой?

Vsevolod
27.07.2017
12:18:33
не переносит, если их не указать явно (* в пролете)

Диана
27.07.2017
12:21:38
select topic_id as t, topic - вот вроде указала явно from topics_list) using t

papa
27.07.2017
12:23:31
сейчас заметила, что при добавлении столбцов в select второй таблицы, он не переносит их в общую, не знаете с чем это может быть связано?
звездочка во внешнем запросе, который с join, сейчас выбирает только колонки левой таблицы, которая в from. при этом имена из правой таблицы доступны, но их надо написать в селекте.

Ilyas
27.07.2017
12:28:30
Привет! Подскажите, в КХ есть что-то аналогичное ADDDATE(date,INTERVAL expr type) из mysql? Нужно прибавлять дни к дате со временем, обычное сложение не подходит, так как не учитывает таймзоны

Диана
27.07.2017
12:29:36
еще раз спасибо, очень приятно видеть такое доброе комьюнити, отвечающие на вопросы новичков)

papa
27.07.2017
12:41:15
Привет! Подскажите, в КХ есть что-то аналогичное ADDDATE(date,INTERVAL expr type) из mysql? Нужно прибавлять дни к дате со временем, обычное сложение не подходит, так как не учитывает таймзоны
а какое сложение подходит? вы можете прибавлять 24*N часов и получать при переводе часов другое время в дате, и вы можете прибавлять количество дней к дате и иногда получать при переводе часов невозможное или неоднозначное время.

Ilyas
27.07.2017
12:49:57
Делаю сравнение метрик с предыдущим периодом и хочу получать результат в виде таблицы дата и час, метрика в текущем периоде, метрика в прошлом периоде Например изменение за неделю получается как-то так: SELECT dateHour, m1, m2 FROM ( SELECT toStartOfHour(toDateTime(tsEvent)) AS dateHour, sum(sign) AS m1 FROM table WHERE (dtEvent >= '2017-07-17') AND (dtEvent <= '2017-07-23') GROUP BY dateHour ) ANY FULL OUTER JOIN ( SELECT toStartOfHour(toDateTime(tsEvent + ((7 * 24) * 3600))) AS dateHour, sum(sign) AS m2 FROM table WHERE (dtEvent >= '2017-07-10') AND (dtEvent <= '2017-07-16') GROUP BY dateHour ) USING (dateHour) Во втором подзапросе увеличиваю dateHour на неделю, чтобы джойнить с нужными строками исходного периода. Но вот такое грязное прибавление таймстемпа не учитывает переход на летнее/зимнее время. Хочется тут прибавлять 7 дней, а не 7*24*3600 секунд. Или может как-то по-другому нужно делать?

Andrey
27.07.2017
12:57:53
не уверен что сильно поможет, но посмотрите в сторону sumIf

Alex
27.07.2017
13:48:34
Уважаемые, скажите, пожалуйста, что всё-таки с поддержкой NULL? Колонки могут быть NULL в DLL/запросе из JDBC?

Sergey
27.07.2017
14:34:54
В JDBC: При селекте должно работать. При инсерте через PreparedStatement - не всегда правильно работает (есть таск). В ResultSetMetaData (если я правильно понял что здесь имеется в виду про DDL) не реализовано. В общем зависит от того что вам надо.

Alex
27.07.2017
14:38:14
В JDBC: При селекте должно работать. При инсерте через PreparedStatement - не всегда правильно работает (есть таск). В ResultSetMetaData (если я правильно понял что здесь имеется в виду про DDL) не реализовано. В общем зависит от того что вам надо.
У меня ряд колонок в БД, по бизнес-логике - nullable String/Integer. Я пытаюсь понять, можно ли их таковыми объявить, и не вписывать в JDBC-биндинги для них пустыми строками и нолями

Amelia
27.07.2017
18:27:48
дорогие друзья. наверное, вопрос банальный, но я тут сижу и думаю на чем строить визуализации из несколькоих источников данных, в том числе кх. Табикс не пойдет, потому что у меня кроме кликхауса ещё GA и PostgreSQL. В принципе с точки зрения функциональности и работы меня устраивает redash.io - одно из немного, что дружит с кликхаусом. но есть есть одно но

Google
Amelia
27.07.2017
18:27:54
ОН СТРАШНЕНЬКИЙ

кто-нибудь может думал, что с этим можно сделать?

Igor
27.07.2017
18:33:28
http://airbnb.io/projects/superset/

Может это поможет ?

Amelia
27.07.2017
18:43:53
интересно, спасибо! но гугл аналитикс просто так к нему не приконнектится

Mike
27.07.2017
18:49:16
кто-нибудь может думал, что с этим можно сделать?
Тоже искал какие-нибудь темы для редэша, но беглый поиск не дал результата. Если вдруг найдете, буду благодарен :)

Vladislav
27.07.2017
22:19:52
Metabase еще есть, но не уверен, взлетит ли на нем КХ

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