@clickhouse_ru

Страница 703 из 723
M
15.10.2018
09:00:44
Вот сейчас 11:58, а через драйвер вставим, получим 14:58
наверное нужно преобразовывать время в UTC. Т.к. сейчас 11.58 по киеву

выходит что при вставке идет киев, записывается киев. А при выводе вы наверное делается toDateTime(time, Kiev)

и у вас + 3 часа идет

точно идет запись в UTC ?

Google
M
15.10.2018
09:02:31
т.к. сейчас будет только 9 часов в UTC)

Evgeny
15.10.2018
09:18:46
Привет всем! Кто-нибудь сталкивался, после обновления 18.14.1 -> 18.14.8, с ошибкой на словарях : clickhouse binary (clickhouse) is not found ?

ошибка на стадии старта КХ, при обращении к словарям

Artem
15.10.2018
09:22:46
Обновился до последней версии, поломались словари, кх не стартует(похоже что из-за таблиц с движком словарь). Cannot create external dictionary Code: 409 DB::Exception: clickhouse binary (clickhouse) is not found

Как получилось обновится в итоге: 1. Дроп всех таблиц с движком Dictionary которые используют словари с odbc. 2. Обновляемся и получаем ошибку clickhouse binary (clickhouse) is not found в словарях. 3. Выполняем любой запрос вида select * from odbc('DSN=dsn;', table), после этого волшебным образом все начинает работать. 4. Пересоздаем таблицы. Что обнаружил в процессе: 1. Перестало работать указание схемы (писал выше) 2. Тип Date через odbc приходят как 0000-00-00, DateTime работает нормально.

Andrey
15.10.2018
09:43:22
помогло _, err = stmt.Exec(time.Now().Unix()) было _, err = stmt.Exec(time.Now().Format("2006-01-02 15:04:05"))

Sergey
15.10.2018
09:52:14
Unknown setting allow_experimental_low_cardinality_type

кому-нибудь удалось справиться?

Ivan
15.10.2018
09:53:05
Unknown setting allow_experimental_low_cardinality_type
точно ли достаточно свежая версия ClickHouse установлена?

Sergey
15.10.2018
09:53:17
Connected to ClickHouse server version 18.14.54409.

самая свежая

Google
Sergey
15.10.2018
09:57:26
беда какая-то

решили) всем спасибо

Evgeny
15.10.2018
10:24:16
Привет всем! Кто-нибудь сталкивался, после обновления 18.14.1 -> 18.14.8, с ошибкой на словарях : clickhouse binary (clickhouse) is not found ?
Из изменений 18.4.1 -> 18.4.8 включен обязательный квотинг наименований таблиц слорварей (<table>...</table>)

по крайней мере в oracle-словарях

вопрос: как-то можно отключить квотинг?

Wolf
15.10.2018
10:28:03
проще заквотить

Evgeny
15.10.2018
10:29:38
сейчас оказалось проще "поднять" регистр у таблиц в xml словаря

что странно, на mysql (ODBC) словарях - имена не квотятся

Привет всем! Кто-нибудь сталкивался, после обновления 18.14.1 -> 18.14.8, с ошибкой на словарях : clickhouse binary (clickhouse) is not found ?
создал symlink в / (cwd для кх) на /usr/bin/clickhouse - вариант совсем плохой, но заработало :)

Konstantin
15.10.2018
11:08:26
коллеги, есть чать данных из старой таблицы созданной вот так ENGINE = ReplicatedMergeTree('/clickhouse/tables/{cluster}/{shard}/event', '{replica}', day, (type, campaign_id), 8192) создаю новую таблицу так (новый стиль) ENGINE = ReplicatedMergeTree('/clickhouseTest/tables/{cluster}/{shard}/event_month', '{replica}') PARTITION BY toYYYYDD(day) ORDER BY (type, campaign_id) SETTINGS index_granularity = 8192 Фактически все одно, пытаюсь чать данных копировать в новую таблиц и сделать attach на что получаю 2018.10.15 10:47:20.851665 [ 34 ] <Debug> executeQuery: (from [::1]:58714, query_id: 5b41d545-18d6-4f28-be3e-96ce6e7748f5) alter table testdb.event_month attach partition 201808 2018.10.15 10:47:20.852086 [ 34 ] <Debug> testdb.event_month (StorageReplicatedMergeTree): Looking for parts for partition 19840328 in detached/ 2018.10.15 10:47:20.852197 [ 34 ] <Debug> testdb.event_month (StorageReplicatedMergeTree): 0 of them are active 2018.10.15 10:47:20.852218 [ 34 ] <Debug> testdb.event_month (StorageReplicatedMergeTree): Checking parts я правильно понимаю что способ создания таблицы важен и данные не получится вот так вот просто перекинуть?

Evgeny
15.10.2018
11:08:29
проще заквотить
вопрос все-таки насущный - как убрать qoutes? Не могу обратиться не "к своим" объектам, а создавать приватные синонимы как-то не очень

Denis
15.10.2018
11:29:53
Unknown setting allow_experimental_low_cardinality_type
Возможно эта фича уже не эксперимнтальная, и настройку выпилили.

Sergey
15.10.2018
11:30:30
Возможно эта фича уже не эксперимнтальная, и настройку выпилили.
нене, настройка есть. Всё ок. Надо было просто клиент тоже поднять

Alexander
15.10.2018
11:30:51
починил указав WorkingDirectory для systemd в /usr/bin
Ага, правильно делаете. Но это баг в любом случае.

Иван
15.10.2018
11:31:27
Ошибка clickhouse binary (clickhouse) is not found воспроизвелась и скоро будет коммит с исправлением. Интересно по поводу невозможности указать схему — как ошибка выглядит?
Server:ssmssql =========================== ODBC Diagnostic record #1: =========================== SQLSTATE = 42S02 Native Error Code = 208 [FreeTDS][SQL Server]Invalid object name 'src.orders'. =========================== ODBC Diagnostic record #2: =========================== SQLSTATE = 42000 Native Error Code = 8180 [FreeTDS][SQL Server]Statement(s) could not be prepared.

Google
Иван
15.10.2018
11:33:45
раньше работало без этого, сам обхожу созданием вьюшек в схеме по умолчанию смотрящик туда куда надо

Mike
15.10.2018
11:43:26
Коллеги, вкратце если, до последнего stable обновляться можно или подождать лучше? :) odbc словари есть, как я понял, с ними проблема

Wolf
15.10.2018
11:44:39
Это вечный вопрос и на него может ответить только тестовое окружение которое обновляется до продакшена иначе это себе стрелять каждый раз в ногу

Mike
15.10.2018
11:48:47
да вот уже через тест обновляюсь, и каждый раз на продакшне вылезает что-то, упущеное на тестах :)

Wolf
15.10.2018
12:08:27
Ну сделайте план тестирования после апдейты

molo4ko
15.10.2018
12:22:14
это не массив, у кортежей всегда с 1 нумерация начинается

molo4ko
15.10.2018
12:22:51
так у вас шутка про массивы

Alex
15.10.2018
12:24:03
Так у массивов тоже с единицы начинается :)

molo4ko
15.10.2018
12:24:04
ничто так не заряжает на всю неделю, как в понедельник детально разобраться, почему шутка не подходит, с незнакомцем в интернете

а, sql же

Denis
15.10.2018
12:44:55
коллеги, есть чать данных из старой таблицы созданной вот так ENGINE = ReplicatedMergeTree('/clickhouse/tables/{cluster}/{shard}/event', '{replica}', day, (type, campaign_id), 8192) создаю новую таблицу так (новый стиль) ENGINE = ReplicatedMergeTree('/clickhouseTest/tables/{cluster}/{shard}/event_month', '{replica}') PARTITION BY toYYYYDD(day) ORDER BY (type, campaign_id) SETTINGS index_granularity = 8192 Фактически все одно, пытаюсь чать данных копировать в новую таблиц и сделать attach на что получаю 2018.10.15 10:47:20.851665 [ 34 ] <Debug> executeQuery: (from [::1]:58714, query_id: 5b41d545-18d6-4f28-be3e-96ce6e7748f5) alter table testdb.event_month attach partition 201808 2018.10.15 10:47:20.852086 [ 34 ] <Debug> testdb.event_month (StorageReplicatedMergeTree): Looking for parts for partition 19840328 in detached/ 2018.10.15 10:47:20.852197 [ 34 ] <Debug> testdb.event_month (StorageReplicatedMergeTree): 0 of them are active 2018.10.15 10:47:20.852218 [ 34 ] <Debug> testdb.event_month (StorageReplicatedMergeTree): Checking parts я правильно понимаю что способ создания таблицы важен и данные не получится вот так вот просто перекинуть?
не получится, разный формат. Я так понимаю никто старый формат выпиливать не собирается, просто рекомендуется новые таблицы создавать в новом. toYYYYDD ? DD ?

Tima
15.10.2018
12:44:58
Есть описание последнего релиза? Или ещё не было с 18.12.17 релизов?

Yuran
15.10.2018
12:56:50
Хотели бы поделиться фидбеком по поводу использования буферных таблиц: У нас есть 2 сервера, в которых одна и та же реплицированная таблица и туда часто идут селекты длиной >60 секунд. В итоге наш скрипт по альтеру таблиц, который делает, буквально, следующее: 1. DROP TABLE table_buffer ON CLUSTER default 2. ALTER TABLE table ADD COLUMN … 3. CREATE TABLE table_buffer ON CLUSTER default На самом деле неправильный, потому что если ALTER на второй сервер едет больше 60 секунд, то мы создадим на втором сервере буферную таблицу со старой схемой (и вставка в неё идти не будет). Причём узнать о том, что ALTER прошел, довольно сложно. Поэтому есть предложение все-таки подумать в сторону того, чтобы буферная таблица сама следила за схемой нижележащей таблицы и такой класс проблем решился бы сам собой :).

Denis
15.10.2018
13:05:45
Хотели бы поделиться фидбеком по поводу использования буферных таблиц: У нас есть 2 сервера, в которых одна и та же реплицированная таблица и туда часто идут селекты длиной >60 секунд. В итоге наш скрипт по альтеру таблиц, который делает, буквально, следующее: 1. DROP TABLE table_buffer ON CLUSTER default 2. ALTER TABLE table ADD COLUMN … 3. CREATE TABLE table_buffer ON CLUSTER default На самом деле неправильный, потому что если ALTER на второй сервер едет больше 60 секунд, то мы создадим на втором сервере буферную таблицу со старой схемой (и вставка в неё идти не будет). Причём узнать о том, что ALTER прошел, довольно сложно. Поэтому есть предложение все-таки подумать в сторону того, чтобы буферная таблица сама следила за схемой нижележащей таблицы и такой класс проблем решился бы сам собой :).
можно сравнить что все таблицы в кластере одинаковые. Запрос будет типа такого (не проверял) select h, database, groupArray(name_all) missing_tables, length(missing_tables) from (select distinct hostName() h, database from remote(segmented, system,tables) where engine not in ('Memory','TinyLog')) all left join (select distinct database, name name_all from remote(segmented, system,tables) where engine not in ('Memory','TinyLog')) using (database) where (hostName() h, database, name_all) global not in (select hostName(), database, name from remote(segmented, system,tables) where engine not in ('Memory','TinyLog')) group by h, database order by h, database; а хотя да, запрос неправильный, в таком виде hostName() неверен.

Konstantin
15.10.2018
13:14:47
С какой версии доступна функция formatDateTime?

похоже одна из последних, суда по файлу https://github.com/yandex/ClickHouse/blob/7f885b0d31b9359dc0ffcbb7561926df076e2737/dbms/src/Functions/formatDateTime.cpp

Google
Иван
15.10.2018
13:40:30
Это не только в словарях, в табличной функции odbc тоже. И это не имя базы а имя схемы внутри базы.

Anton
15.10.2018
13:40:32
всем привет такой вопрос: есть две таблицы(версия 18.12.17 revision 54407) create database data create table data.test(date Date, id UInt64, metric UInt64) ENGINE ReplicatedMergeTree('/clickhouse/tables/{shard}/data/test', '{replica}', date, (date, id), 8192) create table data.test_insert(date Date, id UInt64, metric UInt64) ENGINE ReplicatedMergeTree('/clickhouse/tables/{shard}/data/test_insert', '{replica}', date, (date, id), 8192) делаем: insert into data.test_insert values ('2018-01-01', 1, 1), ('2018-01-01', 2, 2), ('2018-01-01', 3, 3) insert into data.test select * from data.test_insert select * from data.test вывод: date,id,metric 2018-01-01,1,1 2018-01-01,2,2 2018-01-01,3,3 еще раз делаем: insert into data.test select * from data.test_insert select * from data.test вывод: date,id,metric 2018-01-01,1,1 2018-01-01,2,2 2018-01-01,3,3 то есть второй раз insert select не выполняется это так задумано?

Иван
15.10.2018
13:43:22
к примеру полное имя таблицы - bi.src.logs, bi - база, src - схема, logs - таблица

Alexander
15.10.2018
13:43:43
Понял

Иван
15.10.2018
13:45:06
посмотрел - нет) но я попробую сейчс указать

Anton
15.10.2018
13:53:32
спасибо, нашел похожую проблему здесь https://github.com/yandex/ClickHouse/issues/827

Alexander
15.10.2018
14:03:34
посмотрел - нет) но я попробую сейчс указать
В любом случае базу можно указать в настройках odbc-конекшена

Иван
15.10.2018
14:05:16
да там то она как раз и указана, а вот схему кроме как к имени таблицы приписать некуда

Alexander
15.10.2018
14:06:50
anyway, сделаю чтобы работало как раньше

Denis
15.10.2018
14:15:06
anyway, сделаю чтобы работало как раньше
а почем сломалось-то? КХ стал окавычивать сам? Это наверное не совсем верно, когда я пишу в xml <...>&quot;TESTtable&quot;<..> и <...>TESTtable<..> это две разные таблицы и вторая называется TESTTABLE

Alexander
15.10.2018
14:18:20
а почем сломалось-то? КХ стал окавычивать сам? Это наверное не совсем верно, когда я пишу в xml <...>&quot;TESTtable&quot;<..> и <...>TESTtable<..> это две разные таблицы и вторая называется TESTTABLE
КХ теперь получает от odbc-драйвера инфу как надо окавычивать и окавычивает. Сам ничего не выдумывает. А вы специально так делаете чтобы мимо ноги не промахнуться?

Насколько знаю, SQL по стандарту case insensitive.

Иван
15.10.2018
14:20:35
что то я в процессе наломал, кх не запускается в еррор логе: 2018.10.15 14:17:07.493775 [ 1 ] {} <Warning> system.query_thread_log (Data): Removing temporary directory /var/lib/clickhouse/data/system/query_thread_log/tmp_delete_201810_346_346_0 2018.10.15 14:17:08.429811 [ 1 ] {} <Error> Application: Access to file denied: /var/lib/clickhouse/data/system/query_thread_log/tmp_delete_201810_346_346_0/initial_address.mrk

Denis
15.10.2018
14:25:09
Насколько знаю, SQL по стандарту case insensitive.
SQL операторы или имена объектов? Имена объектов не case insensitive. Объект в базе может называться как угодно, и например оракл если нет кавычек приводит в верхний регистр, но объект может называться как угодно в кавычках, если написать create table "MYtable", обращаться к надо только from "MYtable", т.е. оракл будет приводить from "MYtable" --> FROM "MYtable" from MYtable --> FROM MYTABLE и насколько я помню, постгре, информикс, редшифт делают также

Alexander
15.10.2018
14:32:13
В текущей версии прийдётся указывать имя таблицы правильно всегда(

Google
Andrey
15.10.2018
14:37:03
подождал, завелось (то что было цело). я так понял - это некое слияние партиций в момент старта. что не цело - достал из бэкапа. у меня тогда массив в кашу превратился

Иван
15.10.2018
14:41:36
печаль(

Lex
15.10.2018
14:44:56


Иван
15.10.2018
14:45:27
?

Konstantin
15.10.2018
15:02:28
С какой версии доступна функция formatDateTime?
так, я что то не понял SELECT formatDateTime(toDateTime('2018-01-02 22:33:44'), '%H') Received exception from server (version 18.12.17): Code: 46. DB::Exception: Received from localhost:9000, ::1. DB::Exception: Unknown function formatDateTime. 0 rows in set. Elapsed: 0.001 sec. пример брал прямо из мастера https://github.com/yandex/ClickHouse/blob/master/dbms/tests/queries/0_stateless/00718_format_datetime.sql#L16

похоже на баг

Mike
15.10.2018
15:05:39
Коллеги, а подскажите плиз правильный путь хранить выжимки за последние, скажем, N минут ? из основной таблицы слишком долгий запрос получается. Что можно применить?

Wolf
15.10.2018
15:07:34
у нас быстрые такие запросы

Denis
15.10.2018
15:10:39
так, я что то не понял SELECT formatDateTime(toDateTime('2018-01-02 22:33:44'), '%H') Received exception from server (version 18.12.17): Code: 46. DB::Exception: Received from localhost:9000, ::1. DB::Exception: Unknown function formatDateTime. 0 rows in set. Elapsed: 0.001 sec. пример брал прямо из мастера https://github.com/yandex/ClickHouse/blob/master/dbms/tests/queries/0_stateless/00718_format_datetime.sql#L16
Connected to ClickHouse server version 18.14.8 revision 54409. SELECT formatDateTime(toDateTime('2018-01-02 22:33:44'), '%H') ┌─formatDateTime(toDateTime('2018-01-02 22:33:44'), '%H')─┐ │ 22 │ └─────────────────────────────────────────────────────────┘

Mike
15.10.2018
15:13:18
надо create-ddl и запрос
Простая таблица запросов http сервера (datetime, + разные другие поля). У нас данные в КХ заливаются практически в реал-тайм, т.е. за последние 5 минут where datetime>= (now()-300). но запрос тяжелый. Хочется получить на базе этого запроса какую-то более легкую конструкцию (мат вью?)

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