Size: a a a

ClickHouse не тормозит

2020 September 03

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Руслан
Правильно понимаю, что нужно использовать kafka_format='JSONAsString'? У нас просто версия КХ в которой его ещё нет, и чтобы обновиться, надо точно понять что поможет..
я не знаю. Я не понимаю умеет-ли кафка многострочный json в одну строку записать
обновится? зачем ? докер с любой версией за 30 сек взлетает локально.
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
источник

Р

Руслан in ClickHouse не тормозит
Спасибо!
источник

Р

Руслан in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
я не знаю. Я не понимаю умеет-ли кафка многострочный json в одну строку записать
обновится? зачем ? докер с любой версией за 30 сек взлетает локально.
А, ну насчёт многострочности - это для наглядности было, жсоны всегда приходят однострочные. Это что-то меняет?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Руслан
А, ну насчёт многострочности - это для наглядности было, жсоны всегда приходят однострочные. Это что-то меняет?
тьфу, блин, слов нет.
источник

Р

Руслан in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
тьфу, блин, слов нет.
{"a1": "val1","b2": {"c3": "val3"}}
Всмысле вот так. Сути это вроде не меняет.
источник

SZ

Sergey Zelenskiy in ClickHouse не тормозит
Sergey Zelenskiy
Всем привет! Вопрос такой, при использовнании движка HDFS если у поля типа String указать DEFAULT например str String DEFAULT '!!!DEFAULT!!!’, то при отсутствии ключа при заливке, будет подставлен не тот DEFAULT который указали, а пустаая строка. Собственно вопрос, является ли проблема известной и есть ли какие нибудь варианты обойти это?
Продублирую, мб кто то все-таки встречался и решил это
источник

У

Ухудшанский... in ClickHouse не тормозит
Sergey Zelenskiy
Продублирую, мб кто то все-таки встречался и решил это
заведите Issue на гитхабе
источник

AK

Alexey Kostarev in ClickHouse не тормозит
Доброго времени  суток коллеги!
Можно ли в dictGet() использовать в качестве ключа поле типа UUID
CREATE DICTIONARY IF NOT EXISTS BG.Источник (
 primarykey UUID,
 createtime DateTime,
...
 ) PRIMARY KEY primarykey
SOURCE(ODBC(
...
))
LAYOUT(complex_key_hashed ())
LIFETIME (300)
;

SELECT * FROM Источник LIMIT 1;

┌───────────────────────────primarykey─┬──────────createtime─┬
│ 07053072-31a0-4303-bfb7-a3ef03b356ab │ 2018-10-29 14:37:30 │

Но
select dictGetUUID(Источник,'createtime'. '18434a07-0cdf-4c98-b54a-2f87e99086e6');

Syntax error: failed at position 53 (''18434a07-0cdf-4c98-b54a-2f87e99086e6''):

select dictGetUUID(Источник,'createtime'. '18434a07-0cdf-4c98-b54a-2f87e99086e6');

Expected unsigned integer
источник

l

lnuynxa in ClickHouse не тормозит
Alexey Kostarev
Доброго времени  суток коллеги!
Можно ли в dictGet() использовать в качестве ключа поле типа UUID
CREATE DICTIONARY IF NOT EXISTS BG.Источник (
 primarykey UUID,
 createtime DateTime,
...
 ) PRIMARY KEY primarykey
SOURCE(ODBC(
...
))
LAYOUT(complex_key_hashed ())
LIFETIME (300)
;

SELECT * FROM Источник LIMIT 1;

┌───────────────────────────primarykey─┬──────────createtime─┬
│ 07053072-31a0-4303-bfb7-a3ef03b356ab │ 2018-10-29 14:37:30 │

Но
select dictGetUUID(Источник,'createtime'. '18434a07-0cdf-4c98-b54a-2f87e99086e6');

Syntax error: failed at position 53 (''18434a07-0cdf-4c98-b54a-2f87e99086e6''):

select dictGetUUID(Источник,'createtime'. '18434a07-0cdf-4c98-b54a-2f87e99086e6');

Expected unsigned integer
Да, а в чем проблема?
источник

l

lnuynxa in ClickHouse не тормозит
Alexey Kostarev
Доброго времени  суток коллеги!
Можно ли в dictGet() использовать в качестве ключа поле типа UUID
CREATE DICTIONARY IF NOT EXISTS BG.Источник (
 primarykey UUID,
 createtime DateTime,
...
 ) PRIMARY KEY primarykey
SOURCE(ODBC(
...
))
LAYOUT(complex_key_hashed ())
LIFETIME (300)
;

SELECT * FROM Источник LIMIT 1;

┌───────────────────────────primarykey─┬──────────createtime─┬
│ 07053072-31a0-4303-bfb7-a3ef03b356ab │ 2018-10-29 14:37:30 │

Но
select dictGetUUID(Источник,'createtime'. '18434a07-0cdf-4c98-b54a-2f87e99086e6');

Syntax error: failed at position 53 (''18434a07-0cdf-4c98-b54a-2f87e99086e6''):

select dictGetUUID(Источник,'createtime'. '18434a07-0cdf-4c98-b54a-2f87e99086e6');

Expected unsigned integer
select dictGet(Источник,'createtime',('18434a07-0cdf-4c98-b54a-2f87e99086e6'));

dictGetUUID означает что ты хочешь получить UUID а на самом деле ты запрашиваешь DateTime
источник

AK

Alexey Kostarev in ClickHouse не тормозит
select dictGet(Источник,'createtime',('18434a07-0cdf-4c98-b54a-2f87e99086e6'));

SELECT dictGet(Источник, 'createtime', '18434a07-0cdf-4c98-b54a-2f87e99086e6')


Received exception from server (version 20.7.2):
Code: 43. DB::Exception: Received from localhost:9000. DB::Exception: Illegal type String of third argument of function dictGet, must be UInt64 or tuple(...).
источник

AK

Alexey Kostarev in ClickHouse не тормозит
lnuynxa
select dictGet(Источник,'createtime',('18434a07-0cdf-4c98-b54a-2f87e99086e6'));

dictGetUUID означает что ты хочешь получить UUID а на самом деле ты запрашиваешь DateTime
Ошибся
Конечно же dictGet(...)
источник

l

lnuynxa in ClickHouse не тормозит
Alexey Kostarev
select dictGet(Источник,'createtime',('18434a07-0cdf-4c98-b54a-2f87e99086e6'));

SELECT dictGet(Источник, 'createtime', '18434a07-0cdf-4c98-b54a-2f87e99086e6')


Received exception from server (version 20.7.2):
Code: 43. DB::Exception: Received from localhost:9000. DB::Exception: Illegal type String of third argument of function dictGet, must be UInt64 or tuple(...).
Ну так оберните в tuple, скобочки (либо tuple())
источник

AK

Alexey Kostarev in ClickHouse не тормозит
SELECT dictGet(Источник, 'createtime', tuple('18434a07-0cdf-4c98-b54a-2f87e99086e6'))


Received exception from server (version 20.7.2):
Code: 53. DB::Exception: Received from localhost:9000. DB::Exception: Key type at position 0 does not match, expected UUID, found String.
источник

AK

Alexey Kostarev in ClickHouse не тормозит
Спасибо
Нашел:
select dictGet(Источник,'createtime',tuple(toUUID('18434a07-0cdf-4c98-b54a-2f87e99086e6')));

SELECT dictGet(Источник, 'createtime', tuple(toUUID('18434a07-0cdf-4c98-b54a-2f87e99086e6')))

┌─dictGet(Источник, 'createtime', tuple(toUUID('18434a07-0cdf-4c98-b54a-2f87e99086e6')))─┐
│                                                                    2018-02-13 03:28:16 │
└────────────────────────────────────────────────────────────────────────────────────────┘
источник

l

lnuynxa in ClickHouse не тормозит
Alexey Kostarev
Спасибо
Нашел:
select dictGet(Источник,'createtime',tuple(toUUID('18434a07-0cdf-4c98-b54a-2f87e99086e6')));

SELECT dictGet(Источник, 'createtime', tuple(toUUID('18434a07-0cdf-4c98-b54a-2f87e99086e6')))

┌─dictGet(Источник, 'createtime', tuple(toUUID('18434a07-0cdf-4c98-b54a-2f87e99086e6')))─┐
│                                                                    2018-02-13 03:28:16 │
└────────────────────────────────────────────────────────────────────────────────────────┘
нз, неприятно что не умеет из строчки кастить в UUID
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
да нафиг тут каст нужен, обычно же поле передается, а у него уже нужный тип, и тяжело вывести что там каст аргумента нужен
источник

l

lnuynxa in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
да нафиг тут каст нужен, обычно же поле передается, а у него уже нужный тип, и тяжело вывести что там каст аргумента нужен
Ну тоже верно, хотя вот для совместимости сделали же для WHERE сравнение int и строки
источник
2020 September 04

DK

Dmitry Kozeev in ClickHouse не тормозит
Привет всем. вопрос пытаюсь загрузить данные так :
cat report_labexa_main_requests.csv | clickhouse-client -h 172.20.140.44  --format_csv_delimiter=";" --format_csv_allow_single_quotes=0  --query="INSERT INTO reports.click_report_labexa_main_requests_log FORMAT CSV"
и получаю ошибку через несколько секунд Killed файл на 6млн строк.
Как понять по какой именно причине не загрузилось?
источник