@clickhouse_ru

Страница 382 из 723
kamish
03.01.2018
15:41:28
в смысле, файлов whisper? я как-то глядел его исходники, если вы знаете python, то не составит труда написать инструмент для его библиотек и чтения файлов

а там уже можно запустить find /opt/graphite/storage/ -type f -exec script.py {} \;

https://github.com/graphite-project/whisper/blob/b082f4875e2a0ec5452db823dbc8adf9403cda95/whisper.py#L874

вот, кажется, функция

Google
Aliaksei
03.01.2018
15:55:01
знаю в каком-то приближении, буду писать. Думал возможно есть уже готовая утилита

Felixoid
03.01.2018
16:35:46
Есть такое в заначке: https://github.com/bzed/whisper-to-graphite/ Работает не очень быстро на одном потоке, но на proc*2 выдаёт нормально

Aliaksei
03.01.2018
16:37:43
Отлично, почти то что надо. Спасибо!

Nikita
03.01.2018
21:21:03
Всем привет работающим в праздники :) Есть вопрос — если хочется поменять настройку compression как описано тут https://clickhouse.yandex/docs/ru/operations/server_settings/settings.html#compression — что произойдёт с существующими кусками?

И можно ли как-то существующие разжать/сжать назад?

Поставили ради интереса NVM-e диск, удивлённо не увидели никакого прироста в производительности относительно SSD, задумались, и с учётом не очень быстрого процессора пришли к выводу, что проблема может быть в этом.

И можно ли как-то существующие разжать/сжать назад?
Как идея просто поставить другое значение в настройку, пересоздать таблицы с помощью create table as select *

Да, в общем так работает всё — можно поменять настройку и сделать create table as select * — новая таблица создаётся с новым алгоритмом сжатия, старая целая невредимая остаётся

Другой вопрос, что всё равно получилась загадка — была таблица lz4 сделал none (без компрессии вообще) — на диске без компрессии таблица занимает в ~4 раза больше А загадка заключается в том, что скорость исполнения запросов что в старую таблицу, что в новую одинаковая. В чём может быть причина?

Вряд ли прям 1:1 сэкономленное время на распаковку уходит на чтение с диска ?

Nikita
03.01.2018
23:34:22
С холодного запуска тестировал

Google
Nikita
03.01.2018
23:35:04
Т.е. условно говоря — рестарт сервера — create table2 AS select * from table1 — select … from table1 — select … from table2

Ну и несколько прогонов — потом на горячем тоже одинаковые чиселки

Ilya
03.01.2018
23:36:04
А размер таблицы какой,

?

Nikita
03.01.2018
23:36:24
32G t1 135G t2

Ilya
03.01.2018
23:36:44
На каких запросах тестировали?

Nikita
03.01.2018
23:37:31
Полнотекстовый поиск по текстовому полю (в котором хранится рандом) + сложить какие-нибудь колонки

Чувствую, что всё-таки я что-то делаю не так

Ну сложить — в смысле просто select sum(…) from t;

Без условий по датам и ключам всё

Mangol
03.01.2018
23:54:03
https://geektimes.ru/post/297003/ чует моя жопа просадку кх

Самый сок что акции просели интела.

А только собрал 8700(

Maksim
04.01.2018
00:38:46
а, кстати, хороший вопрос: насколько эта проблема существенна, если вы владелец железки и ставите туда один единственный собственный кликхаус

что может пойти не так?

Aliaksandr
04.01.2018
00:47:38
https://geektimes.ru/post/297003/ чует моя жопа просадку кх
если просадка будет, то не сильно заметна. Патч замедляет системные вызовы, а кликхаус почти не делает их

rus
04.01.2018
02:11:54
Вот по постгре есть, может интересно кому интересно https://www.postgresql.org/message-id/20180102222354.qikjmf7dvnjgbkxe%40alap3.anarazel.de

Egor
04.01.2018
02:13:37
Самый сок что акции просели интела.
спросонья подумал, что я смотрю в трейдерский чат long/short :)

?
04.01.2018
15:02:12
а в match можно как-то указать чтобы case insensitive был?

Maxim
04.01.2018
15:31:35
а как сделать чтобы не вставлялись дубликаты строк?

Google
?
04.01.2018
15:37:35
насколько я понимаю, только предварительно фильтруя их

Maxim
04.01.2018
15:38:10
жесть

а для чего тогда конструкция order by при создании таблицы? просто для поиска? т е это не pk?

?
04.01.2018
15:40:31
я что-то даже и не встречал order by при создании, только при селекте

Felixoid
04.01.2018
15:40:55
я что-то даже и не встречал order by при создании, только при селекте
это новый синтаксис, который раньше описывал PK

а для чего тогда конструкция order by при создании таблицы? просто для поиска? т е это не pk?
скорее, для сортировки. Но да, это не РК в понимании классических реляционных БД

Maxim
04.01.2018
15:42:32
плёхо, т е нет возможности не вставлять дубли, ладно, спасибо

Андрей
04.01.2018
15:43:18
Посмотрите в документации ReplacedMergeTree.

?
04.01.2018
15:45:40
а где есть свежая дока? а то в текущей нету даже такого ничего

Андрей
04.01.2018
15:46:10
ReplacingMergeTree

?
04.01.2018
15:46:30
ага, вижу, спасибо

Maxim
04.01.2018
15:47:18
только вот оно не гарантирует избавления от дублей, если в старой партиции будут дубли то так и останутся

Name
04.01.2018
15:47:24
https://clickhouse.yandex/docs/ru/table_engines/collapsingmergetree.html этот движек не устроит?

?
04.01.2018
15:47:24
Таким образом, ReplacingMergeTree подходит для фоновой чистки дублирующихся данных в целях экономии места, но не даёт гарантий отсутствия дубликатов.

?
04.01.2018
15:52:11
ну да )

Maxim
04.01.2018
15:52:40
походу это все не то, прийдется руками делать проверку перед вставкой...

Maxim
04.01.2018
15:53:03
я здесь этот синтаксис увидел https://github.com/yandex/ClickHouse/blob/master/dbms/tests/queries/0_stateless/00502_custom_partitioning_local.sql

Google
Maxim
04.01.2018
16:11:52
как вариант - group by в select'ах по pk
но так не избавиться от дублей в базе

Felixoid
04.01.2018
16:12:25
дубли будут схлопываться движком ReplacingMT

Maxim
04.01.2018
16:14:23
дубли будут схлопываться движком ReplacingMT
ок, есть где-нить описание, когда происходит компактификация, и когда она завершается? я хочу партиционирование не по дате (есть такое) но нужно понимать, до каких пор будет происходить компактификация партиций? всю жизнь? или в какой-то момент сабпартиции перестанут обрабатываться...

Felixoid
04.01.2018
16:16:41
во время мерджей, которые всегда относятся только к одной партиции я почти уверен, что было видео на эту тему, но даже не помню примерно, на каком митапе или конфе рассказывалось про это =\ можно попробовать тут поискать по хештегу faq

Maxim
04.01.2018
16:43:56
есть связка key->value,ts данные лежат в памяти, но переодически чистятся, и пожтому могут приходить старые связки. в данный момент я просто вставляю такие данные в кассандру с ключем in not exists

value могут меняться, и тогда должна появиться вторая запись в таблице

1 -> 2, 10:00 2 -> 3, 11:00 потом может прийти 1 -> 3, 11:00 и она должна появиться в базе

партиции собирался делсть по части ключа

antuan
04.01.2018
16:46:04
Аналитические запросы ведь будут, да?)

Maxim
04.01.2018
16:46:39
нет, это просто хранилище для поиска связок, но пополняемое

antuan
04.01.2018
16:49:21
Тогда кх - это не ваш выбор :)

Maxim
04.01.2018
16:50:20
эта таблица нужна для работы с другими данными, которые уже льются

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

antuan
04.01.2018
16:50:56
Используйте словари, как вариант

Пишите в файл состояние, прдклбчайте файл как словарь. В бд делайте create table table... Engine dictionary

И читайте как из обычной sql-таблицы

Джоины, вот это всё

https://youtu.be/TAiCXHgZn50

Google
antuan
04.01.2018
16:56:04
36я минута

kamish
04.01.2018
17:21:28
CH -- это не про key/value

Andrew
04.01.2018
18:55:31
Ещё если у вас мускуль то можно подключить словарь оттуда

Serge
04.01.2018
19:49:52
всем привет, кто использует CH совместо с go? заюзал https://github.com/mailru/go-clickhouse/ но возникает проблема "clickhouse: wrong placeholder count", по всей видимости данные не эскейпятся

Slach
04.01.2018
19:50:20
код скинь на play.golang.com

ну и еще два нативных драйвера есть у тебя какая задача? данные грузить ? или SQL запросы фетчить?

Serge
04.01.2018
19:52:11
у меня анализатор сайтов, типа парсер, гружу данные - title, meta desc, h1 и все такое, все работало, но тут начал с одним сайтом тестить и периодически вылетает

?
04.01.2018
19:52:29
без кода ничего не сказать

Serge
04.01.2018
19:52:35
буду пытаться найти конкретную строку с которой валится, т.к. все вставляется пачками большими

Slach
04.01.2018
19:53:39
ну вообще там обычно отлично отдается ответ полный со строкой в которой ошибка и т.п. можешь вообще какой нибудь tcpdump запустить на 8123 порт и в wireshark потом в pcap поковыряться

вставляешь то пачками по 100k записей да?

Serge
04.01.2018
19:55:36
пачки от 10 до 50 тыс получаются

Slach
04.01.2018
19:55:51
норм

короче ошибка которая от clickhouse прилетает там полностью трейс обычно идет на какой строке в каком формате вставляешь? TSV? CSV? JSON ?

Serge
04.01.2018
19:57:30
sql, используя мейлрушный клиент

Slach
04.01.2018
20:21:26
ай блин, я почему то подумал что клиент от roistat ;)

я с майлрушным не работал

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