@clickhouse_ru

Страница 267 из 723
Sergey
21.09.2017
12:32:45
Из разных Statement должно быть можно, иначе - странно. По коду проблем не вижу.

Max
21.09.2017
12:56:15
но выяснился второй нюанс. у меня в файле есть явно NULL который как я понимаю для tabseparated не понимается

нужно \N

Google
Stas
21.09.2017
14:34:04
А никто не знает кейсы когда AggregatingMergeTree оправданы? а то дисклеймер в документации насторожил >Заметим, что в большинстве случаев, использование AggregatingMergeTree является неоправданным, так как можно достаточно эффективно выполнять запросы по неагрегированным данных.

Vladimir
21.09.2017
14:42:56
Подскажите пожалуйста, какой функцией отрезать слэш с конца урла если где-то он есть, а где-то нет

Tima
21.09.2017
14:47:25
Подскажите пожалуйста, какой функцией отрезать слэш с конца урла если где-то он есть, а где-то нет
Можно такое использовать https://clickhouse.yandex/docs/ru/functions/string_functions.html#appendtrailingcharifabsent-s-c т.е. не отрезать, а добавить если нет

Vladimir
21.09.2017
14:48:25
Класс, спасибо!

yuyu
21.09.2017
16:14:05
Поясните, пожалуйста, как будет работать такая цепочка с точки зрения пикового потребления оперативки ( в ${MSGLOG} список файлов общим объёмом 1-10 гиг:, т.е. будет ли оно пропорционально суммарному объёму или поток данных будет разбит на куски поблочно: gzip -dc ${MSGLOG} \ | grep -v dump \ | clickhouse-local —table=TMP \ —input-format=JSONEachRow \ —input_format_skip_unknown_fields=1 \ —verbose \ —structure="${logstruct}" \ —query="${query}" \ | clickhouse-client —database=$DB —query="INSERT INTO $DB.$DATATABLE FORMAT Native" —progress

Sergei
21.09.2017
16:30:53
Подскажите пожалуйста, а есть такая вероятность, что для SummingMergeTree записи никогда (или очень долго) не смержатся

Alexandr
21.09.2017
16:32:53
Вполне возможно, а если таблица distributed, то данные на разных нодах и в любом случае надо самому доагрегировать с помощью агрегатных функций

optimize table поможет домержить, но его не вариант юзать в продакшн часто, поэтому group by с соотв. агрегатной функцией лучше вариант

Vladimir
22.09.2017
10:10:34
Добрый день, а нет ли в кликхаусе простого способа собрать олап куб?

Bulat
22.09.2017
10:35:36
олап куб нинужин!)

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

Paul
22.09.2017
10:37:09
OLAP - это не про скорость, это про удобство интерфейса

Mike
22.09.2017
10:46:00
У кх есть одна мажорная проблема, на мой вкус — нулевой тулинг. То, что есть, с ним толком не работает, а нового не написано. В итоге у нас три аналитических интерфейса к нему: Tabix, Jupiter, Redash, и это нас тормозит сильнее, чем замедление от какого-нибудь постгреса. Любые данные можно вытащить только через sql :(((

Google
Sergei
22.09.2017
10:46:23
Может кто сталкивался с проблемой Движок ReplicatedSummingMergeTree У меня в том списке, где указаны колонки, по которым нужно проводить суммирование, колонки идут не в том порядке, в каком указаны в таблице. Так вот начиная с той колонки, у которой порядок отличается данные левые. Первые две колонки (их порядок такой же, как и в таблице) все бъется с другим источником, а дальше идет не та колонка, которая идет в описании таблицы (в описании она вообще последняя) и вот после нее в данных полный хаос

версия 1.1.54245

вроде в описании нет, что порядок должен соблюдаться

на репликах описание одинаковое

Stepan
22.09.2017
11:01:30
Ребят, при распределенных запросах КХ сейчас лезет то в реплику, то в лидера, можно ли сделать так, чтобы при DISTRIBUTED-запросе лезли только на лидера и уже в случае его недоступности, в реплику?

Александр
22.09.2017
11:35:30
А кто подскажет, если я выполню два одновременных запроса с использованием временной таблицы из файла через http интерфейс, то никаких конфликтов не будет из-за одинакового названия временной таблицы. Как этот механизм вообще работает?

Kirill
22.09.2017
11:54:13
Наш CEO впервые увидел ClickHouse в действии geoff [1:54 PM] I have a boner looking at the new stats it's so fucking fast )

Rayan
22.09.2017
12:15:24
Всем привет, кто нибудь подгружал NULL значения через словари? получаю Code: 36, e.displayText() = DB::Exception: Error parsing null_value: DB::Exception, e.what() = DB::Exception, Stack trace:



словарь подгружается через http

Александр
22.09.2017
12:18:38
У меня тут веселее ситуация :) Есть таблица, в ней есть nested и есть временная таблица, в ней есть колонка Array(String). Я делаю запрос из первой таблицы и array join nested колонки, это все дело джойню к результату подзапроса из второй таблицы где делаю array join колонки с Array(String) и получаю веселую ошибку: Type mismatch of columns to JOIN by: childEntityIri String at left, childEntityIri Array(String) at right Хотя "первая" таблица уже развернута и там тип string и "вторая" таблица развернута и там тип string.

Rayan
22.09.2017
12:19:23
Скриншот от комманды curl -s localhost:8080/my_dict.tsv | head | less + поиск по ^I т.е по табам

Rayan
22.09.2017
12:21:02
<dictionary> <name>dim_product</name> <source> <http> <url>http://localhost:8080/my_dict.tsv</url> <format>TabSeparated</format> </http> </source> <lifetime> <min>300</min> <max>360</max> </lifetime> <layout> <hashed/> </layout> <structure> <id> <name>id</name> </id> <attribute> <name>f1</name> <type>String</type> <null_value/> </attribute> <attribute> <name>f2</name> <type>String</type> <null_value/> </attribute> <attribute> <name>d1</name> <type>Date</type> <null_value/> </attribute> <attribute> <name>d2</name> <type>Date</type> <null_value/> </attribute> </structure> </dictionary>

Rayan
22.09.2017
12:23:27
минуту



Google
Rayan
22.09.2017
12:26:49
Row 1: Column 0, name: product_sku_id, type: UInt64, parsed text: "1" Column 1, name: dim_product_sku_id, type: String, parsed text: "33000001" Column 2, name: product_name, type: String, parsed text: "ANCHOR RECTANGULAR GLAS 1.1L PS0042" Column 3, name: list_date, type: Date, parsed text: "2016-03-04" Column 4, name: delete_date, type: Date, parsed text: "<BACKSLASH>N<LINE FEED>2<TAB>33000" ERROR: garbage after Date: "010<TAB>ANCHOR" ERROR: Date must be in YYYY-MM-DD format.

Не остановился после <BACKSLASH>N на <LINE FEED>

<BACKSLASH>N - это ведь "escaped" null?

Александр
22.09.2017
12:31:35
а можете запрос показать?
Ох...сложно, т.к. временная таблица используется, но сейчас напишу. SELECT count() AS attemptsTotal, entityIri, learnerId FROM ( SELECT learnerId, entityIri, childEntityIri FROM entitiesTempTable ARRAY JOIN childs AS childEntityIri ) ANY LEFT JOIN ( SELECT learnerId, entitiesResults.entityIri AS childEntityIri FROM learners ARRAY JOIN entitiesAttempts PREWHERE learnerId IN learnersTempTable WHERE childEntityIri IN irisTempTable ) USING (learnerId, childEntityIri) GROUP BY learnerId, entityIri

По отдельности если подзапросы выполнять, то возвращается string и там и там в колонке childEntityIri

А если вот так в кучу собрать, то кидает ошибку (

Версия 1.1.54246

Nikolai
22.09.2017
12:33:09
papa
22.09.2017
12:34:22
entitiesResults.entityIri AS childEntityIri а это разве не массив строк?

Александр
22.09.2017
12:35:10
Кажется я нашел проблему...дело не в этом было )

Нет, это не массив строк. entitiesAttempts должно быть вместо entitiesResults. Сейчас проверю теорию )

Да, блин...причем КХ даже не ругнулая на select entitiesResults.entityIri as entityIri from learners array join entityAttempts

Он реально колонку выбирал как массив

papa
22.09.2017
12:38:32
это не запрещено

Александр
22.09.2017
12:40:47
Это да )

Vladimir
22.09.2017
12:54:22
Уважаемые пользователи Talend, подскажите, пожалуйста, как увеличть таймаут для jdbc clickhouse?

Alexey
22.09.2017
12:57:47
Привет. Лексер/парсер в ClickHouse руками написан, без yacc/bison/ragel/etc?

Rayan
22.09.2017
12:59:03
Сравнил с clickhouse-client --query="SELECT * FROM test FORMAT TabSeparated" > text2

Все выглядит правильно

Google
Олег
22.09.2017
13:00:50
Привет. Лексер/парсер в ClickHouse руками написан, без yacc/bison/ragel/etc?
По крайней мере, на митапе как-то раз они говорили именно так: ручками написали рекурсивный спуск и успокоились.

Alexey
22.09.2017
13:01:06
Жаль. Спасибо

Rayan
22.09.2017
13:09:42
А если записывать через формат RowBinary, как записать NULL?

Michal
22.09.2017
13:32:53
Глупый вопрос: почему clickhouse-client иногда вместо одной таблицы с результатом, разделяет результат на несколько одинаковых таблиц (повторяя каждый раз заголовок).

Michal
22.09.2017
13:36:31
Скорее всего каждая таблица - кусок данных, полученных от сервера. Т.е. клиент их стримит
Может есть какой-то способ этого избежать? Это эээ... неудобно. Ведь клиент при этом похоже знает когда данные закончились (не повторяет же он каждый раз инфорамацию о статистике выполнения запроса).

Bulat
22.09.2017
13:37:41
можно добавить order by в конце, тогда все придет с одного редьюсера и будет в одном батче

*или нет

Igor
22.09.2017
13:39:43
А если записывать через формат RowBinary, как записать NULL?
if (string == null) { stream.writeInt8(1); } else { stream.writeInt8(0); stream.writeString(string); }

Rayan
22.09.2017
13:40:50
это только для строк?

если ожидается к примеру Datetime то это UInt64

или байт 01 просто означает NULL для всех типов?

Igor
22.09.2017
13:42:44
это для любых Nullable() типов

сначала ноль или единица, потом как обычно

Rayan
22.09.2017
13:44:06
спасибо

попробую через RowBinary записать

если в конфиги словаря указан <null_value/> на некий аттрибут, то так что считается Nullabe, верно?

без указания значения при null

Konstantin
22.09.2017
13:50:24
Есть KILL QUERY, но он работает только для SELECT'ов
это я знаю, вопрос был - целесообразно ли это?

Google
Andrey
22.09.2017
13:53:02
Ребят, сори за оффтоп, а знает кто-нибудь канал по Apache Spark и попутным технологиям?

Vitaliy
22.09.2017
13:55:40
это я знаю, вопрос был - целесообразно ли это?
Возможности внешне прервать INSERT нет, а эта цифра в PROCESS LIST'e условная, она не означет что эти строки буквально записаны на диск и закоммичены.

Vitaliy
22.09.2017
14:12:45
если в конфиги словаря указан <null_value/> на некий аттрибут, то так что считается Nullabe, верно?
null_value не имеет никакого отношения к Nullable типам, это по факту default value для отсутствующих ключей.

Rayan
22.09.2017
14:16:11
Тогда получается что dictGet функции так же не могут возвращать null

Rayan
22.09.2017
14:18:14
Тогда что значит <null_value/>?

Vitaliy
22.09.2017
14:25:22
Тогда получается что dictGet функции так же не могут возвращать null
Да, dictGet функции пока могут возвращать только не-Nullable атрибуты. Типы атрибутов не могут быть Nullable.

Тогда что значит <null_value/>?
Такая запись в конфиге эквивалента <null_value></null_value>

Rayan
22.09.2017
14:45:29
Спасибо за информацию

Vitaliy
22.09.2017
14:49:43
Тогда что значит <null_value/>?
Т.е. он из пустой строки попытается распарсить значение типа для default value

Vladislav
22.09.2017
18:33:52
Всем привет. Видел обсуждение про функцию tostartofinterval. Вопрос, ее еще не сделали? или отказались?

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