@clickhouse_ru

Страница 505 из 723
Tatiana
19.04.2018
15:39:57
у меня вообще все плохо с такой датой https://github.com/yandex/ClickHouse/issues/2246

Maksim
19.04.2018
15:43:24
я заметил проблемы только при сочетании in и and, откатился до 1.1.54343 проблема исчезла

?
19.04.2018
18:41:25
есть какой-нибудь способ выбрать из Array только элементы не входящие во второй Array?

Google
?
19.04.2018
18:44:04
ну вот я пытаюсь ,arrayFilter(x -> x NOT IN ItemsToExclude ,FullList) он ищет таблицу ItemsToExclude

papa
19.04.2018
18:48:32
has

?
19.04.2018
18:53:49
а как тип вычисляемого поля посмотреть?

papa
19.04.2018
18:55:51
toTypeName

?
19.04.2018
19:03:17
arrayFilter(x -> x NOT has(ItemsToExclude,x), FullList) работает, но похоже только по первому элементу ItemsToExclude

papa
19.04.2018
19:06:39
SELECT arrayFilter(x -> NOT has(ItemsToExclude, x), FullList) AS f, [1, 2, 3, 4] AS FullList, [5, 3] AS ItemsToExclude ┌─f───────┬─FullList──┬─ItemsToExclude─┐ │ [1,2,4] │ [1,2,3,4] │ [5,3] │ └─────────┴───────────┴────────────────┘

?
19.04.2018
19:17:52
все, разобрался, у меня строковые элементы, пробелы не потримил. спасибо большое.

Igor
19.04.2018
22:26:21
Вопрос про тип Int64/UInt64 в формате JSON: http://joxi.ru/p27n9NOi0GY6Zm?d=1
Tabix всегда просит CH вернуть строку, далее _пытается_ определить влезет колонка в Number.MAX_SAFE_INTEGER если да преобразует ее в числа

Артемий
19.04.2018
23:00:50
Ilya
20.04.2018
04:25:29
» timedatectl status | grep "Time zone" Time zone: Etc/UTC (UTC, +0000) В конфиге <timezone>Zulu</timezone> SELECT toDateTime('2016-06-15 23:00:00', 'Asia/Yekaterinburg') AS time, toDateTime(time) AS date_local, toDateTime(time, 'Asia/Yekaterinburg') AS date_yekat, toString(date_yekat, 'US/Samoa') AS time_samoa time = 2016-06-15 23:00:00 date_local = 2016-06-15 23:00:00 date_yekat = 2016-06-15 23:00:00 time_samoa = 2016-06-15 07:00:00 В чем вопрос: сервер в зоне UTC, clickhouse-server тоже, но почему date_local такая же как и time, что и оригинал?

?
20.04.2018
07:53:48
а есть у нас возможность при группировке не цифры сложить, а массивы объединить? что-то типа SELECT ID, concatArray(myArr) as finalArr и чтобы в finalArr содержимое myArr сгруппировалось? или со строками что-то похожее (тогда можно массив в строку и обратно просто переконвертировать)

Dmitrii
20.04.2018
07:53:48
Подскажите плз Есть табличка CREATE TABLE states ( USER_ID Int32, EVENT_DATE DateTime, EVENT_DATE_INDEX Date, .... ) ENGINE = MergeTree( EVENT_DATE_INDEX, (USER_ID, EVENT_DATE), 8192 ) В поле EVENT_DATE по 10-20 раз повторяется один и тот же timestamp, а сжатие никакое 2 EVENT_DATE UInt32 240.7 MiB / 243.6 MiB 1.0 3 EVENT_DATE_INDEX Date 642.2 KiB / 121.8 MiB 194.2 Ожидал другой картины, может что-то подругому надо складывать?

Google
?
20.04.2018
08:02:08
оно, спасибо

Tomazov
20.04.2018
08:11:31
Добрый день, иногда при отправке файла запросом INSERT INTO table (...) FORMAT TabSeparated получаю ошибку "Unknown element '' for type Enum8" перепроверил построчно все данные - ОК и если делать обычные INSERT INTO table (..) VALUES (...1000 строк...) ошибок не получаю куда копать? ClickHouse 1.1.54362 библиотека smi2/phpClickHouse <Error> HTTPHandler: Code: 49, e.displayText() = DB::Exception: Unknown element '' for type Enum8('no' = 0, 'air' = 1, 'bus' = 2, 'train' = 3, 'ship' = 4), e.what() = DB::Exception, Stack trace: 0. /usr/bin/clickhouse-server(StackTrace::StackTrace()+0x15) [0x82b4655] 1. /usr/bin/clickhouse-server(DB::Exception::Exception(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)+0x21) [0x2cb4a01] 2. /usr/bin/clickhouse-server(DB::DataTypeEnum<signed char>::getValue(StringRef) const+0xef) [0x5ef8b7f] 3. /usr/bin/clickhouse-server(DB::DataTypeEnum<signed char>::deserializeTextEscaped(DB::IColumn&, DB::ReadBuffer&) const+0x54) [0x75f5254] 4. /usr/bin/clickhouse-server(DB::TabSeparatedRowInputStream::read(std::vector<COWPtr<DB::IColumn>::mutable_ptr<DB::IColumn>, std::allocator<COWPtr<DB::IColumn>::mutable_ ptr<DB::IColumn> > >&)+0xc7) [0x7fecf67] 5. /usr/bin/clickhouse-server(DB::BlockInputStreamFromRowInputStream::readImpl()+0xa3) [0x81a7d23] 6. /usr/bin/clickhouse-server(DB::IProfilingBlockInputStream::read()+0x269) [0x75bc589] 7. /usr/bin/clickhouse-server(DB::InputStreamFromASTInsertQuery::readImpl()+0x27) [0x7d3a187] 8. /usr/bin/clickhouse-server(DB::IProfilingBlockInputStream::read()+0x269) [0x75bc589] 9. /usr/bin/clickhouse-server(DB::copyData(DB::IBlockInputStream&, DB::IBlockOutputStream&, std::atomic<bool>*)+0x70) [0x75d23d0] 10. /usr/bin/clickhouse-server(DB::executeQuery(DB::ReadBuffer&, DB::WriteBuffer&, bool, DB::Context&, std::function<void (std::__cxx11::basic_string<char, std::char_trai ts<char>, std::allocator<char> > const&)>)+0x1a2) [0x7d397f2] 11. /usr/bin/clickhouse-server(DB::HTTPHandler::processQuery(Poco::Net::HTTPServerRequest&, HTMLForm&, Poco::Net::HTTPServerResponse&, DB::HTTPHandler::Output&)+0x2d76) [ 0x2ccfbd6] 12. /usr/bin/clickhouse-server(DB::HTTPHandler::handleRequest(Poco::Net::HTTPServerRequest&, Poco::Net::HTTPServerResponse&)+0x347) [0x2cd2087] 13. /usr/bin/clickhouse-server(Poco::Net::HTTPServerConnection::run()+0x331) [0x85a2f81] 14. /usr/bin/clickhouse-server(Poco::Net::TCPServerConnection::start()+0xe) [0x859b82e] 15. /usr/bin/clickhouse-server(Poco::Net::TCPServerDispatcher::run()+0x169) [0x859bc09] 16. /usr/bin/clickhouse-server(Poco::PooledThread::run()+0x76) [0x8bb2586] 17. /usr/bin/clickhouse-server(Poco::ThreadImpl::runnableEntry(void*)+0x37) [0x8bae797] 18. /usr/bin/clickhouse-server() [0x8d6705e] 19. /lib/x86_64-linux-gnu/libpthread.so.0(+0x76b9) [0x7fdc081d76b9] 20. /lib/x86_64-linux-gnu/libc.so.6(clone+0x6c) [0x7fdc07c0441c]

antuan
20.04.2018
08:15:58
я бы для начала попытался вычленить строчку,с которой ошибка возникает

и посмотрел бы, что в ней валяется

Tomazov
20.04.2018
08:24:37
в том то и дело, что нет такой строки ? одиночные INSERT-ы проходят без ошибок

Egor
20.04.2018
08:28:10
в том то и дело, что нет такой строки ? одиночные INSERT-ы проходят без ошибок
Попробуйте половинить файл до тех пор пока не найдется строчка. Или минимальный файл воспроизводящий ошибку.

Жека
20.04.2018
08:42:27
Подскажите пожалуйста, мне нужен rowNumber, который обнуляется при изменении значении в другом столбце

Konstantin
20.04.2018
09:03:13
Victor
20.04.2018
09:18:25
добрый день подскажите по поводу клиента командной строки. я правильно понимаю, что он сам умеет батчить строчки при инсерте из stdin ?

Edya
20.04.2018
09:18:55
Коллеги, а подскажите, пожалуйста, почему такой запрос: select distinct ui_type from groot3.events where name = 'page_impression'; возвращает ошибку: SQL Error [171]: ClickHouse exception, code: 171, host: groot-clickhouse.vcp.digitalaccess.ru, port: 80; Code: 171, e.displayText() = DB::Exception: Block structure mismatch in UNION stream: different number of columns: ui_type String String(size = 0) name String String(size = 0), ui_type String String(size = 0), e.what() = DB::Exception а вот такой завершается нормально и возращает результат: select distinct ui_type from groot3.events where 1 = 1 and name = 'page_impression'; Таблица Distributed на ReplicatedReplacingMergeTree. При этом если делать запрос к локальной таблице этой проблемы нет. Есть какая-то магия в псевдоусорвиях (1 = 1)?

Edya
20.04.2018
09:21:37
version() | ----------| 1.1.54370 |

M
20.04.2018
09:22:59
попробуйте где то поднять инстанс с 1.1.54378 и попробовать без 1=1. У меня похожая магия была. в 1.1.54378 ушла

Жека
20.04.2018
09:23:16
Konstantin Sevastianov, спасибо

Dmitrii
20.04.2018
09:35:17
Help please! :)

Подскажите плз Есть табличка CREATE TABLE states ( USER_ID Int32, EVENT_DATE DateTime, EVENT_DATE_INDEX Date, .... ) ENGINE = MergeTree( EVENT_DATE_INDEX, (USER_ID, EVENT_DATE), 8192 ) В поле EVENT_DATE по 10-20 раз повторяется один и тот же timestamp, а сжатие никакое 2 EVENT_DATE UInt32 240.7 MiB / 243.6 MiB 1.0 3 EVENT_DATE_INDEX Date 642.2 KiB / 121.8 MiB 194.2 Ожидал другой картины, может что-то подругому надо складывать?

M
20.04.2018
09:43:11
а USER_ID сжался хорошо?

Dmitrii
20.04.2018
09:43:46
USER_ID Int32 1.1 MiB / 243.6 MiB 222.1

я бы сказал прекрасно сжался

Google
M
20.04.2018
09:44:17
EVENT_DATE стоит на втором месте в индексе.. сжатие даты будет отдельно по каждому USER_ID

выходит что у вас высокая cardinality по USER_ID

так?

Dmitrii
20.04.2018
09:46:27
хорошая гипотеза, но вот табличка рядом где EVENT_DATE не в индексе

1 USER_ID Int32 745.8 MiB / 148.1 GiB 203.3 2 EVENT_DATE Int64 141.2 GiB / 296.1 GiB 2.1 CREATE TABLE data ( USER_ID Int32, EVENT_DATE Int64, EVENT_DATE_INDEX Date, ... ) ENGINE = MergeTree( EVENT_DATE_INDEX, (EVENT_DATE_INDEX, USER_ID), 8192 )

и тоже сжатие не ахти

и я думаю что 2х изза того что Int64

M
20.04.2018
09:48:31
тут EVENT_DATE это timestamp ? с часами / секундами?

или только timestamp по 00:00:00

M
20.04.2018
09:50:07
да, unixtime
а на сколько точный? если там секундый записаны то это и ответ. оч большее кол-во уникальных значений

если схлопываете timestamp до дня - то он по размеру должен быть такой же как EVENT_DATE_INDEX

чуть больше ... так как DATE кажись в клике это UInt32

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

Гаврилов
20.04.2018
09:53:14
а как добавить индекс?

M
20.04.2018
09:54:03
ну я имею в виду первичный ключ (EVENT_DATE_INDEX, USER_ID). Индексов в клике нет

M
20.04.2018
09:54:52
а min(DATE_INDEX), max(DATE_INDEX) ?

Google
Dmitrii
20.04.2018
09:55:23
т.е. в 56 раз меньше уникальных строк

min=1514754038 max=1522529976

M
20.04.2018
09:57:43
если вам точность до секунд не нужна, то округляйте timestamp к часу.. будет больше сжатие и меньше кол-во значений. здесь 1522529976 уже содержит секунды и минуты

Dmitrii
20.04.2018
09:58:46
да это понятно, что можно наколхозить... округление или хранить только time

но это все усложняет работу с данными

вопрос был в том, почему не произошло сжатие там где оно ожидается

Egor
20.04.2018
10:01:35
Коллеги, вопрос по CollapsingMergeTree: по доке сказано что некоторые статистики нельзя посчитать, как например max/min. Правильно ли я понимаю что единственный воркараунд что бы посчитать max/min это обернуть FINAL запрос по CollapsingMergeTree в подзапрос, и из него уже снаружи вытащить min/max ?

Dmitrii
20.04.2018
10:24:31
теперь понятно как хранится и как жмется

спасибо

M
20.04.2018
10:25:59
если вопрос по сжатию стоит то ок... но я бы смотрел в сторону выборок. Как часто USER_ID стоит в запросах. Может быть падение производительности

Dmitrii
20.04.2018
10:26:26
да, понимаю

Alexey
20.04.2018
10:27:07
да, понимаю
это Клик, его сложно понимать, не читая исходники :)

M
20.04.2018
10:28:02
да, понимаю
посмотрите еще по compression_method. c zstd сжатие намного лучше

Alexey
20.04.2018
10:30:51
ты уже прочитал? ;)
читаю регулярно и постоянно. там информации больше чем в документации

Alexey
20.04.2018
10:33:24
он уже не highly experemental?
нормально и хорошо работает. используем уже почти два года

Можно ещё сделать кластер и на одном сервере использовать один вид сжатия, на втором второй.

Dmitry
20.04.2018
11:04:29
Подскажите как можно использовать конвертацию datetime в соответствии с таймзоной клиента при использовании http интерфейса? В родном клиенте можно использовать use-client-timezone А вот как быть с http ?

Google
Pavel
20.04.2018
11:09:21
Всем привет!

А есть ли планы добавить бинарные сборки для ARM64/aarch64, пожалуйста?

Wolf
20.04.2018
11:10:00
маловероятно там же кх заточен на ссе и еще какие то инструкции

Pavel
20.04.2018
11:10:36
я собирал его без SSE 4.2 на очень старом core quad, работало ОК ?

Wolf
20.04.2018
11:11:26
ну попробуй те собрать на арме )))

Pavel
20.04.2018
11:12:14
резонный вариант, попробую

Гаврилов
20.04.2018
11:13:18
кх на телефоне

не плохо бы было)

Pavel
20.04.2018
11:13:46
я могу показать htop выдачу с этого телефона

https://twitter.com/odintsov_pavel/status/986741254695411712

как-то так

Гаврилов
20.04.2018
11:14:17
htop немного другое)

Pavel
20.04.2018
11:14:35
не, имхо, как раз htop - самое то

Гаврилов
20.04.2018
11:14:43
тут 96 ядер

Pavel
20.04.2018
11:14:46
да

Гаврилов
20.04.2018
11:14:46
это явно не телефон)

Pavel
20.04.2018
11:15:01
и при этом это ARM 64 ?

antuan
20.04.2018
11:15:04
своп часто используется?

Гаврилов
20.04.2018
11:15:27
а что это за железка такая?

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