@clickhouse_ru

Страница 112 из 723
Vladimir
10.04.2017
21:41:37
или оно тоже не работает?

Pavel
10.04.2017
21:41:43
неа(

Vladimir
10.04.2017
21:42:00
а tcpdump что говорит во всех этих случаях?

Pavel
10.04.2017
21:44:49
тут еще сайд эффект

Google
Pavel
10.04.2017
21:45:00
что меня вышибает после этого с графаны, куда я зашел по http auth :/

Vladimir
10.04.2017
21:45:17
Ужас какой

Pavel
10.04.2017
21:49:46
Ситуация чутка прояснилась ""Code: 192, e.displayText() = DB::Exception: Unknown user admin, e.what() = DB::Exception""

нашел вот это в отладке хрома, то есть оно и правда пытается лезть в CH с реквизитами, которе я использую для входа в гарфану

заиметь бы флажок, чтобы отрубить такое поведение :)

Vladimir
10.04.2017
22:11:57
Такого быть не должно. Попробуйте сделать минимальный пример файла, на котором проявляется ошибка, и прислать нам.
В общем, такое дело. Оказалось, что в Nested альтером по ошибке были добавлены колонки не типа Array(String), а типа String. ClickHouse разрешил в Nested добавить колонки не типа Array(T) по какой-то причине... Но тут и человеческий фактор сыграл, конечно. В итоге, скорее всего, кликхаус при парсинге JSON ожидал и пытался "считать" строку вида '"string1"', а получал '["string1", "string2", "string3"]' (без кавычки в начале), и выдавал ошибку о том, что не может в (типа) '"string1"' считать открывающую кавычку. Тут меня скорее удивило даже не то, что КХ пропустил в Nested не-array, а то, что парсинг JSON не независимый, а завязан на структуру таблицы. Скорее всего, так оно и задумано; скорее всего, для каких-то целей эффективности. Но, если бы было иначе, то, скорее всего, в таких случаях выдавалась бы ошибка о "несовместимости типов String и Array(String) в колонке такой-то". Но, к сожалению, ошибка была не очень очевидная ("Code: 26, e.displayText() = DB::Exception: Cannot parse JSON string: expected opening quote: (at row 1), e.what() = DB::Exception") =( К счастью, в итоге разобрался и всё работает чудесно =) Вот такие дела. Могу завести багу на гитхабе, в принципе, но даже не знаю о чём тут... В принципе, о том, что КХ позволяет заальтерить Nested не-массивными типами, что ли. Ну или, возможно, о более ясных текстах ошибок при парсинге JSON, но это не так просто будет пофиксить, как мне кажется.

papa
10.04.2017
22:29:02
Nested - это лексическое соглашение, по которому столбцы с точкой в имени и одинаковым префиксом считаются массивами одинаковой длины когда вы делаете array join nestedname, но это допущение не проверяется при записи строк и создании колонок.

Vladimir
10.04.2017
22:37:09
Да, к сожалению, не проверяется

Alex
10.04.2017
22:40:24
Думаю что всё-таки надо проверять, потому что таблицей после такого альтера пользоваться невозможно. Создавайте issue.

Roman
11.04.2017
05:21:17
заиметь бы флажок, чтобы отрубить такое поведение :)
Это поведение не графаны, а самого КХ описано в https://clickhouse.yandex/reference_ru.html#HTTP интерфейс Считаю, что это весьма правильное решение. В противном случае, необходимо было бы указывать логин/пароль отдельно для basic auth и для самого КХ

В нашем случае для доступа из графаны в КХ всегда должен использоваться пользователь с ограниченными правами и квотами. Поэтому и basic auth и КХ настроены на работу с ним

Google
Pavel
11.04.2017
06:50:04
Возможно, это удобно в каком-то кейсе. Но CH без проблем дает указывать логин и пароль в строке запроса вместо http auth. Вот именно этого и хочется.

Создавать юзеров в CH не шибко удобно. Но если бы он мог читать стандартный файл паролей в формате apache/nginx и создавать юзеров с него - это решило бы проблему.

Vladimir
11.04.2017
07:07:45
Или ldap :)

Pavel
11.04.2017
07:08:19
боже упаси

Vladimir
11.04.2017
07:16:36
боже упаси
Мы уже вляпались

Roman
11.04.2017
07:21:37
Возможно, это удобно в каком-то кейсе. Но CH без проблем дает указывать логин и пароль в строке запроса вместо http auth. Вот именно этого и хочется.
Я заведу issue на этот случай На данный момент Вы можете разрешить свою проблему использованием одинаковой пары логин/пароль для КХ и basic auth перед ним Более того, советую создать и настроить доступ из мира к КХ через специального пользователя с ограниченными правами

Pavel
11.04.2017
07:28:22
Спасибо!) Очень благодарен за внимание к проблеме!)

Сейчас попробуем закостылить :)

Dig
11.04.2017
07:37:06
День добрый всем. Как при вставке из формата JSONEachRow заставить работать DEFAULT значения? CREATE TABLE test ( date Date, isp String, id Int64 DEFAULT 10, ispHash Int64 DEFAULT cityHash64(isp) ) ENGINE = MergeTree(date, (date), 8192) insert into test FORMAT JSONEachRow {"date":"2017-02-02","isp":"Gmail"} в моем случае поля id и ispHash - имеют нулевые значения после инсерта. Если делать через Values, то отрабатывает правильно, но нужен формат JSONEachRow.

Владимир
11.04.2017
08:25:15
А если вместо DEFAULT создать MATERIALIZED поля?

Dig
11.04.2017
08:31:52
Andrey
11.04.2017
08:41:57
Добрый день. А есть возможность настроить кликхаус на работу с директорией отличной от /opt/clickhouse? Или только через симлинк?

Pavel
11.04.2017
08:42:54
создал юзера с CH с тем же паролем, что у меня был на http auth в графане, вышло "Data source is working" :)

Pavel
11.04.2017
08:43:41
ога

Igor
11.04.2017
08:43:42
<!-- Path to data directory, with trailing slash. --> <path>/usr/local/var/lib/clickhouse/</path> это в config.xml, если что

Igor
11.04.2017
08:45:31
там еще <tmp_path> есть

Google
Pavel
11.04.2017
09:02:45
а есть у кого пример запроса для PieChart созданный вручную через ввод SQL в CH?

Roman
11.04.2017
09:09:50
Вы можете использовать макрос $columns из плагина для графаны

в плагине это будет выглядеть примерно так $columns( Client c, sum(Requests) Requests) FROM $table

Pavel
11.04.2017
09:11:25
О, спасибо! Попробую))

Roman
11.04.2017
09:12:23
или без макроса - SELECT t, groupArray((c, Requests)) AS groupArr FROM ( SELECT (intDiv(toUInt32(DateTime), 3600) * 3600) * 1000 AS t, Client AS c, sum(Requests) AS Requests FROM stats GROUP BY t, c ORDER BY t ASC ) GROUP BY t ORDER BY t ASC

Pavel
11.04.2017
09:13:27
Круть, спасибо!)

Mr
11.04.2017
10:15:43
добрый день

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

# docker images |grep clickhouse yandex/clickhouse-server latest c8068646a915 12 days ago 796 MB yandex/clickhouse-server <none> 5ae091f607a9 2 months ago 883 MB

Fike
11.04.2017
10:17:29
приложите, пожалуйста, ошибку,"валится" - слишком широкое сообщение

Mr
11.04.2017
10:17:43
сейчас, не успеваю :)

clickhouse_1 | 2017.04.11 10:13:32.648312 [ 4 ] <Trace> HTTPHandler-factory: HTTP Request for HTTPHandler-factory. Method: POST, Address: [::ffff:10.0.111.1]:55926, User-Agent: python-requests/2.11.1 clickhouse_1 | 2017.04.11 10:13:32.648329 [ 4 ] <Trace> HTTPHandler: Request URI: / clickhouse_1 | 2017.04.11 10:13:33.131553 [ 4 ] <Debug> executeQuery: (from [::ffff:10.0.11.1]:55926) INSERT INTO h.alive FORMAT TabSeparated clickhouse_1 | 2017.04.11 10:13:33.131640 [ 4 ] <Debug> MemoryTracker: Peak memory usage (total): 0.00 B. clickhouse_1 | 2017.04.11 10:13:33.141496 [ 4 ] <Error> HTTPHandler: Code: 60, e.displayText() = DB::Exception: Table h.alive doesn't exist., e.what() = DB::Exception, Stack trace:

валится вот так и дальше стектрейс

Igor
11.04.2017
10:18:19
/opt/clickhouse -> /var/lib/clickhouse?

Mr
11.04.2017
10:18:43
ага, путь изменился?

спасибо, сейчас рестартну

спасибо

Дмитрий
11.04.2017
11:07:48
Ребят подскажите ваше мнение чем лучше наполять clickhouse через HTTP интерфейс на ежедневной основе из различных источников (MSSQL/ORACLE/DB2) пока думаем в сторону pentaho data integration

Необходимо перекидывать новые данные появившиеся в таблицах с момента прошлой загрузки

Есть ограничения на стороне источников есть только учетка в базу данных с возможностью чтения

Google
⚓D
11.04.2017
11:15:53
есть способ переключить инстанс кликхауса на работу с другой нодой зукипера, кроме как сделать эту ноду зукипера недоступной?

Andrey
11.04.2017
11:17:26
Ребят подскажите ваше мнение чем лучше наполять clickhouse через HTTP интерфейс на ежедневной основе из различных источников (MSSQL/ORACLE/DB2) пока думаем в сторону pentaho data integration
Насколько я понимаю, pentaho DI раньше назывался pentaho Kettle. Шупал его года два-три назад. Вещь в себе, притом трудно поддерживаемая. Мэппинги сложно отлаживать, есть архитектурные косяки (не помню точно, какие, но помню, что долго придумывал как их обходить). Визуальная среда проектирования на базе эклипс ?, плюс вообще, визуальные языки сложно поддерживать: ты видишь диаграмму верхнего уровня, но задолбаешься протыкивать мышкой каждый шаг, чтоб понять, что он делает.

Ребят подскажите ваше мнение чем лучше наполять clickhouse через HTTP интерфейс на ежедневной основе из различных источников (MSSQL/ORACLE/DB2) пока думаем в сторону pentaho data integration
Я бы посоветовал просто написать ETL код на каком-нибудь языке с поддержкой ФП. Как вариант - на джава 8 со стримами. Если нужна кластеризация (big data) - логично делать ETL на базе map reduce стека какого-нибудь. Hadoop тот же самый

В варианте с ETL, написанном на обычном ЯП с поддержкой функционального программирования, получается гораздо более управляемая система.

Дмитрий
11.04.2017
11:21:49
Андрей спасибо!

Alexey
11.04.2017
11:22:16
если нужна поточность и какая-то near real-time-овость, то можно глянуть в сторону Flink, Storm и еще что-то не давно в Apache свалилось интересное

там та же функциональщина, и бигдата + всякая обвязка для кластеризации

Дмитрий
11.04.2017
11:23:17
Алексей спасибо! Ваш вариант тоже изучим

Vladimir
11.04.2017
11:30:06
Добрый день! Подскажите, пожалуйста, а есть ли всё-таки возможность как-то посчитать min/max в таблицах типа CollapsingMergeTree? Может быть, как-то подзапросами?

Vladislav
11.04.2017
11:42:39
Ребят подскажите ваше мнение чем лучше наполять clickhouse через HTTP интерфейс на ежедневной основе из различных источников (MSSQL/ORACLE/DB2) пока думаем в сторону pentaho data integration
Не для КХ, а другой базы, но отказался от пентахо из-за сложности реализации соответсвий типов. Выбрали Talend продукты. Но если есть возможность, лучше пишите свое, ибо подстраиваться под софт очень тяжело...

И да, все open-source/community инструменты по ETL отвратительные в плане совместной работы

Andrey
11.04.2017
12:01:06
@milovidov_an Алексей, вы упоминали на митапе, что в Яндексе кто-то поднял кластер КХ на ZFS on Linux. Есть ли в чате кто-то кто может описать впечатления о стабильности ZFS on Linux и пригодности к использованию в продакшене?

Дмитрий
11.04.2017
12:28:48
Не для КХ, а другой базы, но отказался от пентахо из-за сложности реализации соответсвий типов. Выбрали Talend продукты. Но если есть возможность, лучше пишите свое, ибо подстраиваться под софт очень тяжело...
Есть 20 территориально распределенных БД DB2 в каждой из есть таблица из 10 столбцов (string int32 datetime) куда пишут датчики о своем состоянии. Прирост таблицы около 1000 строк в минуту. Нужно раз в минуту опрашивать 20 баз данных и выгребать новые строки в clickhouse. В операционную систему серверов DB2 доступа нет. В DB2 доступ только на чтение.

Alexey
11.04.2017
12:57:04
хотя, с дубликатами может и CH справиться...

Абрамов
11.04.2017
13:27:05
а кто как, кстати, с дубликатами борется? :)

если не считать optimize

Pavel
11.04.2017
13:58:03
опять не выходит камменый цветок с PieChart в графане :(

пытаюсь отрисовать вот такое SELECT srcAsn AS asn, sum(length) AS total_traffic FROM traffic_buffer GROUP BY asn ORDER BY total_traffic DESC LIMIT 10

Google
Pavel
11.04.2017
14:02:53
"ORDER BY time supported at this time" и возникает вопрос, а как ограничить число элементов на диаграмме только топ10, а-то у меня браузер виснет от тысяч =(

Roman
11.04.2017
14:20:00
"ORDER BY time supported at this time" и возникает вопрос, а как ограничить число элементов на диаграмме только топ10, а-то у меня браузер виснет от тысяч =(
ну тут больше недоработка макроса, который не позволяет использовать лимиты и ордеры. Проблему можно решить подзапросом. А в плагине я собираюсь это скоро исправить. Сейчас посмотрю пример

Pavel
11.04.2017
14:20:29
спасибо!)

Roman
11.04.2017
14:20:46
$columns( Client c, sum(Reqs) Reqs) FROM $table WHERE Client in ( SELECT Client FROM ( SELECT Client, sum(Reqs) Reqs FROM $table GROUP BY Client ORDER BY Reqs DESC LIMIT 20 ))

Pavel
11.04.2017
14:33:26
ммм, я наверное не до конца понимаю логику

я могу задать table в конструкторе

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

в то же время если я делаю toggle mode, у меня вообще все опции выключаются и становится не ясно, как указать ту же table

Roman
11.04.2017
14:35:33
я не уверен, что вы используете последнюю версию плагина. В любом случае, вы можете указать вместо $table просто имя таблицы

Pavel
11.04.2017
14:36:34
я стянул его с гарфана нет, лучше с гита тянуть?

Roman
11.04.2017
14:37:18
да, на графана.нет не самая новая версия

Pavel Novitskiy
11.04.2017
15:24:27
@milovidov_an Алексей, вы упоминали на митапе, что в Яндексе кто-то поднял кластер КХ на ZFS on Linux. Есть ли в чате кто-то кто может описать впечатления о стабильности ZFS on Linux и пригодности к использованию в продакшене?
Привет. Да, поднимали для целей бэкапов, большой нагрузки на него нет, что касается стабильности, то за ~1 год никаких существенных проблем с ним не возникало.

Если есть какие-то более конкретные вопросы, то можно их задать мне.

Andrey
11.04.2017
15:26:59
@milovidov_an @presto53 Спасибо.

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