@clickhouse_ru

Страница 129 из 723
Vladimir
24.04.2017
16:56:31
Но это тоже небыстро

Alexey
24.04.2017
17:03:34
Вопрос снимается... Нашел в гуглгрупс

Andrey
24.04.2017
17:29:08
Maksim
24.04.2017
18:34:25
а кто-нибудь для умных домов уже приделывал clickhouse?

Google
Виктор
24.04.2017
18:41:33
Но зачем

Дом умнее от этого не станет, мне кажется

Или для сенсоров?

Vyacheslav
24.04.2017
18:49:54
Господа, а кто-нибудь заморачивался написанием output плагина к telegraf в кликхаус? Графхауз это реально круто, но лишняя прослойка не очень греет, плюс сам графитовский формат мне не нравится, я бы предпочел разворачивать его поколоночно.

Maksim
24.04.2017
18:50:23
для сенсоров конечно

Alexey
24.04.2017
18:50:34
Нашел? Поделись!)
https://groups.google.com/forum/#!topic/clickhouse/VixyOUD-K68

Константин
24.04.2017
19:29:51
Добрый вечер!

Скажите, что за ошибка? https://yadi.sk/i/uzwRmaJH3HJrB2

Alexey
24.04.2017
19:42:04
у меня было ощущение, что где-то описывался функционал "дедубликации батчей/кусков при в ставке". Сейчас найти не могу (неужели это мне приснилось?). Идея была такая: при в ставке батча может произойти сбой на клиенете или в сети, и клиент еще раз повторит вставку батча. И вот такое поведение вроде как-то невилировалось в MergeTree. или это только мои фантазии?

Dmitry
24.04.2017
19:42:45
Для реплицированных таблиц через zk работает

Vladimir
24.04.2017
19:42:46
Скажите, что за ошибка? https://yadi.sk/i/uzwRmaJH3HJrB2
Вероятно одно (или несколько) выражений в скобках пустое, а так быть не должно

Скажите, что за ошибка? https://yadi.sk/i/uzwRmaJH3HJrB2
https://github.com/yandex/ClickHouse/blob/master/dbms/src/Parsers/ExpressionElementParsers.cpp#L87

Dmitry
24.04.2017
19:43:23
Google
Alexey
24.04.2017
19:46:10
т.е. работает только при механизме репликации?

а для клиентских инсертов такого нет?

Alex
24.04.2017
19:47:36
работает для ReplicatedMergeTree, для обычных MergeTree - нет

Alexey
24.04.2017
19:49:59
но я правильно пониманию, что попытку вставки надо делать на тот же сервер?

чтоб механизм сработал

Alexey
24.04.2017
19:50:25
на любую из реплик?

Dmitry
24.04.2017
19:50:34
Alexey
24.04.2017
19:50:43
ок

мудрененько придется мутить конфигурацию и загрузку

Dmitry
24.04.2017
19:51:57
Блоки данных дедуплицируются. При многократной записи одного и того же блока данных (блоков данных одинакового размера, содержащих одни и те же строчки в одном и том же порядке), блок будет записан только один раз

Ну и далее по доке

Alexey
24.04.2017
19:52:15
да нашел, спасибо

Pavel
24.04.2017
20:51:51
Его формат оч простой же

Vladimir
24.04.2017
20:57:34
Его формат оч простой же
у них есть библиотека родная для парсинга их формата, не факт что очень эффективная, но для Proof of concept сойдет

Vyacheslav
24.04.2017
21:20:56
telegraf просто хорош тем что умеет брать большого количества разных источников, и понимает самые распространенные форматы (инфлюкс, графит, json). Короче я понял, пойду книженцию по go читать ))

Google
Vladimir
24.04.2017
21:22:41
и еще пару недель добиваться адекватной производительности и внешнего вида

Andrey
24.04.2017
21:23:55
a small matter of programming :-D

Vyacheslav
24.04.2017
21:28:40
А сравнительные тесты ифлюкса против кликхауза никто не делал? Я то интуитивно догадываюсь что кликхауз инфлюкс рвёт, но хотелось бы доказательств...

Pavel
24.04.2017
21:28:57
рвет...... еще как рвет :)

у меня запись батчами

CH - 10% проц

InfluxDB - 270%

на том же потоке

influxDB вообще неадекватная штука, имхо. удобно когда данных мало, если много - это кошмар и неадекват.

Vyacheslav
24.04.2017
21:34:10
Ок, спасибо, значит будем плавно мигрировать в сторону КХ

Pavel
24.04.2017
21:35:04
но у CH с визулизацией не так хорошо, пока что

драйвер для инфлакса довольно старый и отполированый, а для CH надо пока тягать из репо) но если проект для себя - ваще класс)

Andrew
25.04.2017
06:32:16
я сейчас тестирую кх для переезда своего проекта и возник такой вопрос - а какой подход есть для такой задачи - подсчет статистики за большой период (несколько месяцев\год)? Количество записей - несколько миллиардов, в память не помещается. Сейчас в текущем сторадже мы делаем предъагрегацию, но я так понял это не clickhouse-way?

Andrew
25.04.2017
06:35:34
Мы итерируемся по дням/неделям/месяцам, делая несколько запросов, и на клиенте финализируем тренд и график. Или у вас неаддитивные показатели?

Это если данные совсем большие. Еще надо обязательно порекомендовать свежий рассказ Алексея про "как избежать memory limit при groupby", на ютубе

Andrew
25.04.2017
06:37:24
спасибо, пошел смотреть

показатели аддитивные

Andrey
25.04.2017
06:58:56
я сейчас тестирую кх для переезда своего проекта и возник такой вопрос - а какой подход есть для такой задачи - подсчет статистики за большой период (несколько месяцев\год)? Количество записей - несколько миллиардов, в память не помещается. Сейчас в текущем сторадже мы делаем предъагрегацию, но я так понял это не clickhouse-way?
Есть еще прием с MATERIALIZED VIEW на движке AgregatingMergeTree. Натравливаешь его на таблицу, и при поступлении сырых данных, они автоматически агрегируются так как задано в настройках VIEW. Но у такого метода есть минусы. Если вдруг нужно добавить столбец или изменить параметры агрегации то придется пересчитывать все заново. А это может быть затратно по памяти.

Google
Denis
25.04.2017
07:40:51
а как лучше настроить обмен данными между postgres и clickhouse?

и есть ли какие-нибудь решения по переносу данных из biqguery в clickhouse?

Andrey
25.04.2017
07:44:54
Очень популярный вопрос по переносу. Самый простой вариант это дамп в TSV и загрузка с клиента. Ну или кастом решения в виде потоковой загрузки напрямую, хотя не уверен что будет быстрее

Alexey
25.04.2017
07:45:28
по postgres - сильно зависит от вашей ситуации * тут может быть и классический ETL, где CH в качестве DWH; * а можно попробовать и на logical decoding с репликацией посмотреть (возможно с промежуточным приземлением в kafka). Типа такого https://github.com/confluentinc/bottledwater-pg

и главное не понятно, вам нужно одноразово перенести/мигрировать или нужно из OLTP БД данные подтягивать

в общем очень абстрактные постановки задачи

Denis
25.04.2017
07:58:54
Надо перенести данные разово и потом периодически дополнять. При этом регулярность обновления данных пока необязательна, то есть наверно вариант с дампом может подойти.

Artem
25.04.2017
10:16:04
А зачем, если не секрет?

и есть ли какие-нибудь решения по переносу данных из biqguery в clickhouse?

Andrey
25.04.2017
10:31:45
Ребят, вот такая ошибка, это ок или все же что-то поломалось? 2017.04.25 13:29:21.203722 [ 20 ] <Error> void DB::BackgroundProcessingPool::threadFunction(): Code: 84, e.displayText() = DB::Exception: Directory /var/lib/clickhouse/data/default/data/19700101_19700131_153290_156523_9 already exists, e.what() = DB::Exception, Stack trace: 0. clickhouse-server(StackTrace::StackTrace()+0x16) [0x1e293b6] 1. clickhouse-server(DB::Exception::Exception(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)+0x1f) [0x106bcdf] 2. clickhouse-server(DB::MergeTreeDataMerger::mergePartsToTemporaryPart(std::vector<std::shared_ptr<DB::MergeTreeDataPart const>, std::allocator<std::shared_ptr<DB::MergeTreeDataPart const> > >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, DB::MergeListEntry&, unsigned long, long, DB::DiskSpaceMonitor::Reservation*)+0x40b4) [0x1ff7c54] 3. clickhouse-server(DB::StorageMergeTree::merge(unsigned long, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)+0x47e) [0x1f43bbe] 4. clickhouse-server(DB::StorageMergeTree::mergeTask()+0x197) [0x1f44ba7] 5. clickhouse-server(DB::BackgroundProcessingPool::threadFunction()+0x3dc) [0x1fdb85c] 6. clickhouse-server() [0x35bc8ef] 7. /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba) [0x7faac48ab6ba] 8. /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7faac3ecc82d]

Mike
25.04.2017
12:26:24
А зачем, если не секрет?
У нас тоже ожидается такая задача :) Зачем нам — вытащить сырые данные из Google Analytics Premium.

Artem
25.04.2017
12:27:20
а, вам ретроспектива нужна, хит дубликатор давно уже написали?

Denis
25.04.2017
12:28:37
А зачем, если не секрет?
Изначально историю браузинга собирали в bigquery (с заполнением userid), в Я.М начали передавать позже. вот теперь думаем перенести и объединить/сопоставить.

Artem
25.04.2017
12:29:34
ясненько, мы с вами в одной лодке по таким задачкам

Andrey
25.04.2017
12:38:21
Интересное поведение. Если делать drop table то в processlist поле memory_usage отрицательное. Но как говорится, на скорость не влияет))

Alexey
25.04.2017
13:01:11
чет я затупил. есть у кого пример файлов в conf.d/ ?

там должны быть xml с той же структурой? /yandex/* ? или как?

и вот эта часть немного сбивает с толку: <remote_servers incl="clickhouse_remote_servers" /> <!-- If element has 'incl' attribute, then for it's value will be used corresponding substitution from another file. By default, path to file with substitutions is /etc/metrika.xml. It could be changed in config in 'include_from' element. Values for substitutions are specified in /yandex/name_of_substitution elements in that file. -->

Google
Alexey
25.04.2017
13:04:41
либо я чего-то не вижу в документации, либо реально туплю, либо остальные это проходили через метод тыка?

во всех туториалах идет отсыл к документации, но мне ее походу недостаточно...

papa
25.04.2017
13:06:07
в целом у incl логика такая: <yandex><b incl="c"><default/></b></yandex> + <yandex><c><custom/></c></yandex> = <yandex><b><custom/><default/></b></yandex>

Alexey
25.04.2017
13:08:57
извините, не могу сказать, что помогло

файлы в подкаталогке conf.d/ работают? Можно минимальный пример такого файла?

можно минимальный пример файла /etc/metrika.xml ?

когда правильней/удобней использовать подстановку, а когда conf.d/* ?

Felixoid
25.04.2017
14:54:47
вот... кажется начал улавливать... но все равно как-то это все не очень очевидно в документации IMHO
пример из боя cat /etc/clickhouse-server/config.d/graphite.xml <yandex> <use_graphite>true</use_graphite> <graphite> <host>127.0.0.1</host> <use_fqdn>true</use_fqdn> <port>42000</port> <root_path>one_min</root_path> <timeout>0.1</timeout> </graphite> </yandex>

просто кусок конфига, который будет вмерджен в /etc/clickhouse-server/config-preprocessed.xml

Alex
25.04.2017
14:59:08
*Оффтоп* Вроде бы не пятница, а захотелось извращений SELECT MAX(if(Channel = 'native_cpm', Bid * 1000, Bid)) AS Maxbid, MIN(if(Channel = 'native_cpm', Bid * 1000, Bid)) AS MinBid, AVG(if(Channel = 'native_cpm', Bid * 1000, Bid)) AS avgBid FROM impressions WHERE EventDate = '2017-04-25'

И ведь что характерно - не тормозит!)

Dennis
25.04.2017
15:02:50
А, кстати, когда КХ по двум колонкам бежит, то как он не убивает диск по иопсам? Колонки же разного размера из-за сжатия и смещения конкретных строк внутри колонок разгын. Буферизирует одну колонку в памяти, пока не найдет в ней соответствующую строку нужную во второй колонке?

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