
Alexey
12.10.2018
11:50:56
@kshvakov Мы используем вот это:
"github.com/kshvakov/clickhouse"
@kshvakov вы имеет ввиду что нужно в строке соединения указывать SetMaxOpen ? или где то в коде это нужно указывать ?

Andrey
12.10.2018
11:52:36
Ребят, а кто-то сталкивался с
<Error> HTTPHandler: Code: 33, e.displayText() = DB::Exception: Cannot read all data, e.what()
при селектах?

Alexey
12.10.2018
11:53:27
@kshvakov вот наш разработчик Андрей Php

Google

Alexey
12.10.2018
11:53:44
Можете ему обьяснить про закрытие соедиенний ?

Kirill
12.10.2018
11:54:22

Andrey
12.10.2018
11:54:26
мы делаем так
clickHouseDB, err := sql.Open("clickhouse", connStringClickHouse)
if err != nil {
log.Fatalln("Clickhouse connection error: ", err)
}
defer clickHouseDB.Close()

Kirill
12.10.2018
11:55:04

Wolf
12.10.2018
11:55:38

Andrey
12.10.2018
11:56:09
смотрите логи кх
ну там помимо этого сообщения есть еще трейс. Но не понятно в чем причина

Andrey
12.10.2018
11:56:33
дальше
router.Handle("/rpc", HandleRequest(s, s))
http.Handle("/rpc", router)
для всех запросов используется ранее созданное соединение clickHouseDB

Wolf
12.10.2018
11:56:35
ну посмотрите логи ошибок кх

Andrey
12.10.2018
11:57:26

Alexey
12.10.2018
11:57:39

Kirill
12.10.2018
11:59:03
@kshvakov
Ну да, все норм, только лимит на открытые соединения поставьте

Wolf
12.10.2018
11:59:49

Andrey
12.10.2018
11:59:55
@kshvakov зачем лимит, мы же создали всего одно соединение clickHouseDB?

Google

Andrey
12.10.2018
12:00:24

Wolf
12.10.2018
12:03:30
обычный лог
у кх же два лога

Kirill
12.10.2018
12:04:45

Andrey
12.10.2018
12:05:16
ок, спасибо
@kshvakov тоесть получается что соединение не закрывается автоматически, оно висит в пуле соединений?

Kirill
12.10.2018
12:06:50

Alexey
12.10.2018
12:08:39

Wolf
12.10.2018
12:09:37

Andrey
12.10.2018
12:10:46
я так понял что библиотека сама открывает новые соединения и добавляет их в пул
соответственно когда мы увеличиваем нагрузку, должен логически сработать рандом

Wolf
12.10.2018
12:12:19
не, так это не работает

Kirill
12.10.2018
12:12:58

Andrey
12.10.2018
12:14:16
спасибо

Wolf
12.10.2018
12:15:20
ну так у вас будет овер по записи

Kirill
12.10.2018
12:33:08

Wolf
12.10.2018
12:34:47
ну кх не любит много паралельных записей

Kirill
12.10.2018
12:40:49

Wolf
12.10.2018
12:44:41
Ну так там же дистрибьютед таблица она сама будет выбирать оттуда читать

Kirill
12.10.2018
12:47:16

Google

Kirill
12.10.2018
12:47:37
У нас в порядке вещей просто взять и выключить сервер

Wolf
12.10.2018
12:47:49
Ну в таком случае ваш драйвер переключиться на другой

Kirill
12.10.2018
12:47:58
Да
Это и сделано было из за лени что-то там менять руками, выключилось и ОК )

Юрий
12.10.2018
14:27:45
Коллеги, добрый вечер.
Не подскажите ли по бестпрактис в кликхаусе.
Как лучше быть.
Иметь две таблицы с разными полями, но связанными по полю id.
Или хранить повторяющиеся и частоиспользуемые поля в двух этих таблицах?
Как вытаскивать данные из двух таблиц по этому полю id? Только лишь джойном?

Алексей
12.10.2018
14:29:09

Konstantin
12.10.2018
14:29:17
объединить в одну по id)

Юрий
12.10.2018
14:29:57

Denis
12.10.2018
14:36:17
Интересно,
делаю insert из tsv 0 (нолик) в поле float64
select toString(поле) на одном сервере(шарде)
0.000004609679999999999
0.000005235000000000001
0.00000358902
0.000005035
0.00000234768
0.00000410709
0.000007095
0.0000050462800000000014
0.0000030190000000000002
почему значения разные?

Рулон
12.10.2018
15:37:55
Друзья а файл для ch лучшие пере
Дать utf8 unicode

Wolf
12.10.2018
15:40:09

Denis
12.10.2018
15:45:26
нет, не воспроизодится, косяк видимо не в КХ или все сложнее,
упс, разобрался, это были не нули.

Alexey
12.10.2018
22:07:57
Дать utf8 unicode
Да.
Хотя на самом деле можно хранить и загружать в ClickHouse данные в любой кодировке.
https://clickhouse.yandex/docs/ru/data_types/string/

Рулон
12.10.2018
23:59:44
Друзья, нас становится все больше! Растёт экспертиза, но растёт и количество запросов. Становится все больше вопросов и ответы тонут в потоке вопросов. Посему если вы нашли ответ, пришлите пожалуйста ваш вопрос и решение мне на почту. Я его добавлено в общий сток вопросов и ответов. Clickhouse.my1.ru
После попадания в бэклог, я буду создавать ишью на гитхабе в статью Faq и ждать валидации конирибтютера. Если есть еще идеи, давайте обсуждать! Спасибо

Mах
13.10.2018
05:04:14
Идея хорошая, но...
1) твой аватар и имя пользователя не внушают доверия.
2) где почта?
Из отстраненных вопросов: добавление происходит 'ручками'?

undefined
13.10.2018
06:43:29

Vladimir
13.10.2018
06:46:22

Google

Рулон
13.10.2018
07:01:52
Реклама это беспланый хостинг
Да, добавление руками,
Я добавлю формы ввода
Просто я вижу сайт как точку сбора вопросов и сырых ответов, чтобы контрибьюторам было проще. Основной ресурс это должен быть Faq на гитхабе

Wolf
13.10.2018
07:02:41
купите хостинг и домен что ли приличия ради

Vladimir
13.10.2018
07:03:57

Wolf
13.10.2018
07:05:29
мы все таки уже не дети и у меня все проекты кроме одного не преследуют коммерческих целей и сидят на хорошем хостинге и купленном домене. качество реализации не должно зависеть от коммерциализации.

Vladimir
13.10.2018
07:05:37
А если так уж неймется - завести в том ЖЖ блог..

Александр
13.10.2018
07:47:57
Какие вы все душные. У человека возможно нет навыков программирования/настройки хостингов и пр. Импульсивно было принято решение сделать такой ресурс. Вас никто не заставляет им пользоваться и писать туда что-то, если вас не устраивает бесплатный домен, реклама и пр. Помогите сделать лучше или дайте в личку ссылки на хороший хостинг и пр.

Денис
13.10.2018
08:05:48
доброго времени года
у менЯ возникла проблема, псоздал таблицу и при добавлении там висят от силы три строки, и не пополняются, в логахъ есть записи об обнаружжении старых хзаписей.. что я делаю не так?
CREATE TABLE IF NOT EXISTS cpe_devices (
event_date Date DEFAULT toDate(event_time),
event_time DateTime,
serial UInt64,
model String,
firmware String,
version String,
ip_addr String,
basename String,
script_version String,
type String
)
ENGINE = SummingMergeTree(event_date, (serial, model, event_time, event_date), 8192)
выбрал не тот движок?

Maxim
13.10.2018
08:30:06
Summing? может просто MergeTree? я не спец но может поможет.

Денис
13.10.2018
08:31:01
я вот тоже не спец..попробую прямо сейчас. просто подобные данные уже пишутся и движок такойже
пробую stringMergeTree

dmks
13.10.2018
08:31:53

antuan
13.10.2018
08:32:02
Самым правильным вариантом будет не гадать, а прочитать в документации различия между движками


Денис
13.10.2018
08:32:23
я прочитал, еще не до конца понимаю некоторые моменты
когад читал) сдлелал первую таблицу и оно работает уже полгода, хорошо работает, задачу выполняет. но тут по тому же принцыпу сделал еще две, но одна не заполняется - ума не приложу в чем отличия. просто логически ен понимаю
ыот, посмотрите пожалуйста? :
SHOW CREATE TABLE
CREATE TABLE default.cpe_abonents (
event_date Date DEFAULT toDate(event_time),
event_time DateTime,
mac UInt64,
rssi Int8,
radioname String,
basemac UInt64,
type String,
ip_addr String,
model String,
sn String,
uptime String
) ENGINE = SummingMergeTree(
event_date,
(mac, radioname, event_time, event_date),
8192
)
это работает.
это тоже:
SHOW CREATE TABLE
CREATE TABLE default.cpe_interfaces (
event_date Date DEFAULT toDate(event_time),
event_time DateTime,
mac UInt64,
device_id UInt64,
name String,
band String,
mode String,
protocol String,
frequency String,
clients UInt16,
ssid String,
password String,
type String
) ENGINE = SummingMergeTree(
event_date,
(mac, device_id, event_time, event_date),
8192
)

Google

Денис
13.10.2018
08:34:53
почему та не работает как должно?

antuan
13.10.2018
08:35:38
When merging, all rows with the same primary key value (in the example, OrderId, EventDate, BannerID, ...) have their values totaled in numeric columns that are not part of the primary key.
Если вы используете этот движок, значит вы хотите сложить некие, скажем, счетчики
Т.е. как бы строки с одинаковым пкеем будут сгруппированы, а для "счетчиков" вызван sum

Денис
13.10.2018
08:38:11

antuan
13.10.2018
08:38:42
Судя по всему - MergeeTree

Денис
13.10.2018
08:39:43
спасибо, а есть мысли, почему 2 из 3 таблицы корректно пишутся и пополняются, а одна, созданная подобным образом, не пополнятесЯ выше 4 значений, иногда и в ноль очищается?

antuan
13.10.2018
08:41:41
For the other columns that are not part of the primary key, the first value that occurs is selected when merging.
Возможно, пишите одинаковые значения? Почитайте все же документацию еще разок :)

Денис
13.10.2018
08:43:24
читал же:) обязательно перечитаю, я для ключа выбрал те значения, которые будут уникальны. в проблемной таблице - это серийный номер и айпи. в случае абонентов, там мак адрес устройства и имя радио...не улавливаю просто логику, это же вычисляения)) они либо работают либо нет))) и должны быть отличия...

antuan
13.10.2018
08:44:36
Ну вот выше выдержка из документации.
Для остальных столбцов, не входящих в первичный ключ, при слиянии выбирается первое попавшееся значение
Оно же на русском

Денис
13.10.2018
08:45:49
буду внимательнее выбирать движок, хотя почему оно не ведет себя также с первой таблицой, которой несколько месяцев, очень интересно))
спсибо за помощь, вроде теперь полнятся данные