@clickhouse_ru

Страница 42 из 723
Vladislav
28.12.2016
20:01:04
А ссылка умерла ?

Igor
28.12.2016
20:05:53
? https://nbviewer.jupyter.org/github/miptgirl/attribution_modelling/blob/master/220volt_case.ipynb

Vladislav
28.12.2016
21:08:52
А вот эта работает

Andrew
28.12.2016
21:41:27
Можно я тоже влезу, и дополню Машу @miptgirl? Мы в отделе в основном используем CH двумя сценариями: 1) Некоторая "тяжелая выгрузка", занимающая минуты-часы. У нас есть самописные обертки, упощающие итерирование по периодам рассчета (всё вместе в квоту не лезет). Запросы пишем вручную, вроде не слышал, вроде несильно страдаем: это потому что мало джойнов и жести, как у Маши ?. Далее сразу в питоне в пандасе вертим-крутим как нужно. 2) А вот сценарии вида "посчитать за один день/период простую метрику", "оценить воообще кол-во событий в группе", "грепнуть и посмотреть" мы активно пользуемся CH GUI вашей (СМИ2). Очень радуемся, очень удобно) Раньше (у меня до сих пор) для этих целей использовали clickhouse-client в tmux'е, но с гуи намного визуально понятнее, опять же вкладки, возможность глянуть в табличку. В общем ещё раз спасибо за это!

Google
Slach
30.12.2016
10:30:39
Ребят, а подскажите, если в Clickhouse нет NULL то как их все таки лучше вставлять? например через TabSeparated??? просто писать пустую строку? и делать \t\t ? а оно будет в 0 приводить для численных типов? или все таки надо заранее знать тип и приводить к нему ?

Igor
30.12.2016
10:32:08
пустую строку

если не указан DEFAULT, то будет фигачить нули и пустые строки

хотя даже если default указан, он один фиг вроде только при INSERTе в формате Values работает.. туплю

Slach
30.12.2016
10:35:37
а можно вставлять Nested структуры в TapSeparated ? как массивы в квадратных скобках?

Igor
30.12.2016
10:38:23
:) CREATE TABLE nested_test (s String, nest Nested(x UInt8, y UInt32)) ENGINE = Memory ❯ gecho -e 'string\t[1,2,3]\t[4,5,6]' | clickhouse-client -h stats-ch1 -q "INSERT INTO nested_test FORMAT TabSeparated" :) SELECT * FROM nested_test; ┌─s──────┬─nest.x──┬─nest.y──┐ │ string │ [1,2,3] │ [4,5,6] │ └────────┴─────────┴─────────┘

через таб

в случае с примером выше - s \t nest.x \t nest.y

Slach
30.12.2016
10:43:54
ну и там вроде как должна быть одинаковая длинна? так?

Виктор
30.12.2016
10:44:18
Да

В смысле количества элементов

Shine
30.12.2016
11:29:50
погодите, как нет null

уже вроде пару недель работают

Google
Slach
30.12.2016
11:31:38
я не из сырцов ставлю и я думаю что старое поведение никто ломать не будет =)

Shine
30.12.2016
11:32:16
я тоже не из сырцов

обновился через apt

и заработало

Slach
30.12.2016
11:46:17
ну у меня golang ;) там NULL нет нормального там только nil ;)

Igor
30.12.2016
11:46:33
а golang здесь причем? :о

Slach
30.12.2016
11:47:21
ну сочетание golang и TabSeparated, не дает мне шанса вставить NULL в том виде как оно обычно в SQL используется

Igor
30.12.2016
11:47:56
гм... tabseparated - это обычные строки, часть спецсимволов которых экранируется кликхаусом на входе

Slach
30.12.2016
11:47:59
\tNULL\t это ж строка будет для String в таком случае для TabSeparated в общем я таки попробую пустые строки посмотрю что получится

Igor
30.12.2016
11:48:14
да. а \t\N\t пробовали?

у меня нет свежего рабочего сервера с поддержкой nullов чтоб проверить :(

Slach
30.12.2016
11:48:32
ну дак это отдельно экранировать придется =)

Igor
30.12.2016
11:48:46
и чо? ))

и, кстати, стоп, зачем экранировать?

Slach
30.12.2016
11:50:01
еще раз если \t разделитель и я для типа String поставлю NULL Null или еще как то то это не должно интерпрититорваться как NULL это должна быть строка если нет, то это значит сломали все =)

Igor
30.12.2016
11:50:54
стоп! я, щас, конечно, диванный аналитик, но если надо вставить "\t" как строку, а не как разделитель, вторым параметром, то будет как-то так: первый\t\\t\tтретий

аналогично должно быть с NULLом, который в КХ представляется как \N

Slach
30.12.2016
11:51:14
МНЕ НЕ НАДО ВСТАВИТЬ \t как строку =)

Igor
30.12.2016
11:51:19
Я ПОНИМАЮ

я привожу аналогию! если отправите \tNULL\t, то вставится строка "NULL", а не \N (тип NULL)

Google
Igor
30.12.2016
11:52:05
если отправите \t\N\t, то вставится NULL если отправите \t\\N\t, то вставится строка "\N"

ну, это опять же, имхо. должно работать так. это логично

жалко, что под макось перестал компилиться :(

Slach
30.12.2016
11:52:42
ок \N, понял может быть можно будет попровать ...

Igor
30.12.2016
12:08:26
проверил, всё верно :) CREATE TABLE test (x UInt64, s Nullable(String), y UInt64) ENGINE = Memory; ❯ gecho -e '1\t\N\t2' | docker exec -i clickhouse clickhouse-client -q 'INSERT INTO test FORMAT TabSeparated' ❯ gecho -e '2\tNULL\t3' | docker exec -i clickhouse clickhouse-client -q 'INSERT INTO test FORMAT TabSeparated' :) INSERT INTO test VALUES (3, NULL, 4); :) SELECT * FROM test ORDER BY x; ┌─x─┬─s────┬─y─┐ │ 1 │ \N │ 2 │ │ 2 │ NULL │ 3 │ │ 3 │ \N │ 4 │ └───┴──────┴───┘

(gecho - GNU echo, если что, а то в макосьном флага -e нету)

Alexander
30.12.2016
14:55:33
Коллеги, а если у нас внещний словарь , это таблица на сервере postgre то как она оформляется? <!— или источник - таблица на сервере postgre <postgre>

или не так?

в доке, про MySQL сказано только

<!— или источник - таблица на сервере MySQL. <mysql>

или <postgresql>

Igor
30.12.2016
15:05:41
надо odbc

Как я делал с постгресным драйвером: sudo apt-get install -y unixodbc sudo apt-get install -y odbcinst sudo apt-get install -y odbc-postgresql В /etc/odbc.ini: [DEFAULT] Driver = myconnection [myconnection] Description = PostgreSQL connection to norma Driver = PostgreSQL Unicode Database = norma Servername = 10.... (твой хост) UserName = uname Password = pwd Port = 5432 Protocol = 9.3 ReadOnly = No RowVersioning = No ShowSystemTables = No ConnSettings = <dictionary> <name>table_name</name> <source> <odbc> <table>postgresql_table</table> <connection_string>DSN=myconnection</connection_string> <!— может потребоваться UID=norma;PWD=norma;, но по идее не должно —-> </odbc> </source> <lifetime> <min>300</min> <max>360</max> </lifetime> <layout> <flat/> </layout> <structure> <id> <name>id</name> </id> <attribute> <name>some_column</name> <type>Int32</type> <null_value>-1</null_value> </attribute> ... </structure> </dictionary>

Alexander
30.12.2016
15:34:33
о спасибо

видимо то, что нужно

Alexey
30.12.2016
15:36:26
Ребят, а подскажите, если в Clickhouse нет NULL то как их все таки лучше вставлять? например через TabSeparated??? просто писать пустую строку? и делать \t\t ? а оно будет в 0 приводить для численных типов? или все таки надо заранее знать тип и приводить к нему ?
NULL-ы в TabSeparated указываются как \N. Сейчас NULL-ы уже есть в последней версии сервера, но функциональность ещё не production-ready. Из-за некоторых обстоятельств её пришлось вмержить до того, как были исправлены все замечания ревью. Из-за этого там есть ужасные, позорные недоработки. Например, вчера исправил - при парсинге не поддерживались не-NULL-строки, начинающиеся на бэкслеш.

Slach
31.12.2016
11:21:04
C наступающим всех =) пусть в новом году ClickHouse обгонит и перегонит все Collumn Oriented databases и станет номер 1 =) по популярности

=) а кто живой? а если я хочу String вставить в TabSeparated и Nested, мне надо [Строка1, Строка2, Скрока3] делать? или надо еще внутри массива строки кавычками экранировать?

Igor
31.12.2016
11:38:22
да забудь про массивы вообще если у тебя просто строка, а не массив из строк

представь что таблица с нестед стала плоской и сохранила порядок

Google
Slach
31.12.2016
11:38:55
у меня массив из строк к сожалению =)

Igor
31.12.2016
11:39:03
тогда не забывай!

в документации есть пример один-в-один

а, ты про кавычки

сорри!

хз тогда даже :о

я б попробовал кавычки экранировать

точнее не экранировать, а просто запихнуть в кавычки каждую строку

столбец-cтрока\t['строка 1', 'строка 2']\t8008135

Slach
31.12.2016
11:41:51
https://clickhouse.yandex/reference_ru.html#Nested(Name1 Type1, Name2 Type2, ...) вот тут я чтото не вижу примервов на вставку и на кавычки =(

ну я так и собираюсь сделать

но просто хочу уточнить вдруг кто уже прошел этот путь

Igor
31.12.2016
11:42:29
да, сорри( а примеры с массивами из строк в похожих форматах цсв например есть?

Slach
31.12.2016
11:42:54
неа =) надо экспериментировать сейчас будет

Igor
31.12.2016
11:44:09
та шо там экспериментировать, три запроса всего

Igor
31.12.2016
11:45:27
может поможет моя php версия https://github.com/smi2/phpClickHouse/blob/master/src/Quote/StrictQuoteLine.php пример работы https://github.com/smi2/phpClickHouse/blob/master/example/exam12_array.php

Slach
31.12.2016
11:52:03
ну вроде разобрался http://take.ms/pbeOL

Геннадий
31.12.2016
13:40:24
/stat@combot

Combot
31.12.2016
13:40:24
combot.org/chat/-1001080295593

f1yegor
31.12.2016
14:04:15
/stat@combot

Google
Combot
31.12.2016
14:04:15
combot.org/chat/-1001080295593

Maxim
31.12.2016
16:24:32
Всех с наступающим Новым Годом!

Igor
31.12.2016
18:11:37
Всех c наступающим|наступившим НГ! Желаю закрыть планы по CH - Q2+Q3+Q4 в Q1 ;))) От себя, микро подарок пользователям CHGui - анонс новой ветки с автоматическими графиками, с графическим pivot + resolve ~40 фичь из roadmap - в public конце января

Alexey
31.12.2016
18:23:27
> Желаю закрыть планы по CH - Q2+Q3+Q4 в Q1 ;))) Вот это отличное пожелание. Спасибо :) С наступающим!

Grigory
31.12.2016
21:47:26
И Q5!

Darafei
31.12.2016
21:49:58
И Q5!
audi или blackberry?

Grigory
31.12.2016
21:58:23
Квартал!

Slach
02.01.2017
06:24:47
всем веселых праздников а Clcikhouse умеет DEFAULT для Nested массивов??

видимо нет в документации не нашел примеров чтобы Nested создавался с DEFAULT хотя в доке сказано так The parameters of a nested data structure - *the column names and types* - are specified the same way as in a CREATE query.

Андрей Михайлович
02.01.2017
08:02:59
А что, писать по-русски в русском продукте совсем не круто? Давайте и кит на английском, и другие мероприятия.

Slach
02.01.2017
08:04:16
Андрей??? вы о чем??? вас смутило что я доку английкую привел??? в русской все тоже самое

f1yegor
02.01.2017
08:04:25
Комменты в коде лучше на англ, документация уже на 2х

Slach
02.01.2017
08:06:25
Андрей, вы пытались изучать "китайские продукты" ??? =) с китайскими комментариями? ;) очень советую а Арабские комменты видели в своей жизни? я видел после этого я начал стараться либо не писать комментов савсем, либо на английском хотя конечно, я бы предпочел на русском, но для этого надо было чтобы Intel назывался Эльбрус или как то так...

Андрей Михайлович
02.01.2017
10:06:58
Есть дока на русском. Или она, или ни какой

Igor
02.01.2017
10:08:07
надо еще кликхаус на 1С переписать

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