Size: a a a

ClickHouse не тормозит

2020 July 09

АК

Антон Куляшов... in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
ну так не совместимы они. Только insert select

Я чего-то  не понимаю, всера вы писали про create table, это был тест перед апгрейдом типа или что
Обновили зукипер, перестал запускаться кликхаус из-за разницы в index_granularity_bytes. Старым синтаксисом мы задать его не можем, поэтому переделали на новый. Но то что данные нельзя подключить это, конечно, сюрприз.
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Антон Куляшов
Обновили зукипер, перестал запускаться кликхаус из-за разницы в index_granularity_bytes. Старым синтаксисом мы задать его не можем, поэтому переделали на новый. Но то что данные нельзя подключить это, конечно, сюрприз.
не понял при чем тут ЗК, что вы обновили?
источник

АК

Антон Куляшов... in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
не понял при чем тут ЗК, что вы обновили?
Подняли версию зк и кх, и с тех пор чиним проблемы.
источник

АК

Антон Куляшов... in ClickHouse не тормозит
Я вчера писал об ошибке, которую мы поймали при старте кх.
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Антон Куляшов
Подняли версию зк и кх, и с тех пор чиним проблемы.
напомните какая версия КХ была?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
я не могу воспроизвести, создаю таблицу, рестартую КХ , все работает
источник

A

Armenak in ClickHouse не тормозит
Приветствую! Переименовал колонку в таблице (относительно новая фича)

clickhouse 🙂 alter table impression RENAME column idfa to device;

ALTER TABLE impression
   RENAME COLUMN idfa TO device


Ok.


Но стала возникать ошибка при ставке данных:

Processing: 1594305778833703849_6045_adb72cd6-2fea-4932-b055-bc304b9ad8fe.jsonl.gz
Code: 117, e.displayText() = DB::Exception: Unknown field found while parsing JSONEachRow format: device: (at row 1)
, Stack trace (when copying this message, always include the lines below):

0. Poco::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0x10ed0da0 in /usr/bin/clickhouse
1. DB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0x95c923d in /usr/bin/clickhouse
2. ? @ 0xe7c183b in /usr/bin/clickhouse
3. DB::JSONEachRowRowInputFormat::readJSONObject(std::__1::vector<COW<DB::IColumn>::mutable_ptr<DB::IColumn>, std::__1::allocator<COW<DB::IColumn>::mutable_ptr<DB::IColumn> > >&) @ 0xe7bf16d in /usr/bin/clickhouse
4. DB::JSONEachRowRowInputFormat::readRow(std::__1::vector<COW<DB::IColumn>::mutable_ptr<DB::IColumn>, std::__1::allocator<COW<DB::IColumn>::mutable_ptr<DB::IColumn> > >&, DB::RowReadExtension&) @ 0xe7bf636 in /usr/bin/clickhouse
5. DB::IRowInputFormat::generate() @ 0xe760041 in /usr/bin/clickhouse
6. DB::ISource::work() @ 0xe6dd3ab in /usr/bin/clickhouse
7. DB::InputStreamFromInputFormat::readImpl() @ 0xe6a4b0d in /usr/bin/clickhouse
8. DB::IBlockInputStream::read() @ 0xd999b1d in /usr/bin/clickhouse
9. DB::ParallelParsingBlockInputStream::parserThreadFunction(unsigned long) @ 0xe6a98d8 in /usr/bin/clickhouse
10. ThreadPoolImpl<ThreadFromGlobalPool>::worker(std::__1::__list_iterator<ThreadFromGlobalPool, void*>) @ 0x95f7987 in /usr/bin/clickhouse
11. ThreadFromGlobalPool::ThreadFromGlobalPool<void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()>(void&&, void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()&&...)::'lambda'()::operator()() const @ 0x95f80fa in /usr/bin/clickhouse
12. ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) @ 0x95f6e97 in /usr/bin/clickhouse
13. ? @ 0x95f5383 in /usr/bin/clickhouse
14. start_thread @ 0x76db in /lib/x86_64-linux-gnu/libpthread-2.27.so
15. __clone @ 0x121a3f in /lib/x86_64-linux-gnu/libc-2.27.so
(version 20.5.2.7 (official build))


Вставляю таким скриптом:

zcat "$FILENAME" \
| clickhouse-client \
   --user="$CLICKHOUSE_USER" \
   --password="$CLICKHOUSE_PASSWORD" \
   --input_format_skip_unknown_fields=1 \
   --query="INSERT INTO $CLICKHOUSE_TABLE FORMAT JSONEachRow"


Кто-нибудь сталкивался с похожей проблемой? Как это исправить? Пока на ум приходит только - использовать в JSON старое название колонки.
источник

OG

Oleksiy Golovko in ClickHouse не тормозит
Пробую сделать OPTIMIZE TABLE t PARTITION 202005 FINAL DEDUPLICATE и получаю вот такое в логах
(ReplicatedMergeTreeQueue): Not executing log entry MERGE_PARTS for part 202005_0_2566_9 because source parts size (370.71 GiB) is greater than the current maximum (33.71 GiB).

Cannot select parts for optimization: Part 202005_0_2566_8 has already been assigned a merge into 202005_0_2566_9

Похоже, что optimize не работает, куда копать?
источник

АК

Антон Куляшов... in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
напомните какая версия КХ была?
20.1.2.4, зк 3.6.1. Создаем репликейтед таблицу, все вроде норм. рестартуем кликхаус - не поднимается из-за разницы гранулярити байтс.
источник

АК

Антон Куляшов... in ClickHouse не тормозит
на 20.5.2.7 аналогично было
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Антон Куляшов
20.1.2.4, зк 3.6.1. Создаем репликейтед таблицу, все вроде норм. рестартуем кликхаус - не поднимается из-за разницы гранулярити байтс.
а 20.1.16.120 проверяли?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Антон Куляшов
на 20.5.2.7 аналогично было
поставил 20.5.2.7

CREATE TABLE dw.dim_test (o Int64, d  Date DEFAULT now()) ENGINE = ReplicatedReplacingMergeTree('/clickhouse/test/tables/dim_test', '1', d, (o), 8192)
insert into dw.dim_test values (0, today())

/etc/init.d/clickhouse-server restart

select * from dim_test
┌─o─┬──────────d─┐
│ 0 │ 2020-07-09 │
└───┴────────────┘
источник

A

Anton R in ClickHouse не тормозит
Ребята подскажите, создаю таблицу

CREATE TABLE "test"
   ( time DateTime,
       "column1" Int32 DEFAULT 100,
       "column2" String DEFAULT 'default',
       "column3" Int32,
       "column4" String
   )
ENGINE MergeTree()
PARTITION BY toYYYYMMDD(time)
ORDER BY (time)


потом добавляю данные:
{
     column3: 1,
     column4: 'test'
}


Запрашиваю, и CH возвращает

col
umn1:0
column2:""
column3:1
column4:"test"
time:"2020-07-09 15:07:28"

А
почему дефолтные значения не выставились для column1 и column2?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Oleksiy Golovko
Пробую сделать OPTIMIZE TABLE t PARTITION 202005 FINAL DEDUPLICATE и получаю вот такое в логах
(ReplicatedMergeTreeQueue): Not executing log entry MERGE_PARTS for part 202005_0_2566_9 because source parts size (370.71 GiB) is greater than the current maximum (33.71 GiB).

Cannot select parts for optimization: Part 202005_0_2566_8 has already been assigned a merge into 202005_0_2566_9

Похоже, что optimize не работает, куда копать?
либо мержи уже идут либо места на диске свободно мало
источник

OG

Oleksiy Golovko in ClickHouse не тормозит
Denny Crane (I don't work at Yandex (never did))
либо мержи уже идут либо места на диске свободно мало
места на диске точно достаточно (два диска по 15ТБ, занято примерно 50%). Мержей в system.merges не видно
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Armenak
Приветствую! Переименовал колонку в таблице (относительно новая фича)

clickhouse 🙂 alter table impression RENAME column idfa to device;

ALTER TABLE impression
   RENAME COLUMN idfa TO device


Ok.


Но стала возникать ошибка при ставке данных:

Processing: 1594305778833703849_6045_adb72cd6-2fea-4932-b055-bc304b9ad8fe.jsonl.gz
Code: 117, e.displayText() = DB::Exception: Unknown field found while parsing JSONEachRow format: device: (at row 1)
, Stack trace (when copying this message, always include the lines below):

0. Poco::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0x10ed0da0 in /usr/bin/clickhouse
1. DB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0x95c923d in /usr/bin/clickhouse
2. ? @ 0xe7c183b in /usr/bin/clickhouse
3. DB::JSONEachRowRowInputFormat::readJSONObject(std::__1::vector<COW<DB::IColumn>::mutable_ptr<DB::IColumn>, std::__1::allocator<COW<DB::IColumn>::mutable_ptr<DB::IColumn> > >&) @ 0xe7bf16d in /usr/bin/clickhouse
4. DB::JSONEachRowRowInputFormat::readRow(std::__1::vector<COW<DB::IColumn>::mutable_ptr<DB::IColumn>, std::__1::allocator<COW<DB::IColumn>::mutable_ptr<DB::IColumn> > >&, DB::RowReadExtension&) @ 0xe7bf636 in /usr/bin/clickhouse
5. DB::IRowInputFormat::generate() @ 0xe760041 in /usr/bin/clickhouse
6. DB::ISource::work() @ 0xe6dd3ab in /usr/bin/clickhouse
7. DB::InputStreamFromInputFormat::readImpl() @ 0xe6a4b0d in /usr/bin/clickhouse
8. DB::IBlockInputStream::read() @ 0xd999b1d in /usr/bin/clickhouse
9. DB::ParallelParsingBlockInputStream::parserThreadFunction(unsigned long) @ 0xe6a98d8 in /usr/bin/clickhouse
10. ThreadPoolImpl<ThreadFromGlobalPool>::worker(std::__1::__list_iterator<ThreadFromGlobalPool, void*>) @ 0x95f7987 in /usr/bin/clickhouse
11. ThreadFromGlobalPool::ThreadFromGlobalPool<void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()>(void&&, void ThreadPoolImpl<ThreadFromGlobalPool>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda1'()&&...)::'lambda'()::operator()() const @ 0x95f80fa in /usr/bin/clickhouse
12. ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) @ 0x95f6e97 in /usr/bin/clickhouse
13. ? @ 0x95f5383 in /usr/bin/clickhouse
14. start_thread @ 0x76db in /lib/x86_64-linux-gnu/libpthread-2.27.so
15. __clone @ 0x121a3f in /lib/x86_64-linux-gnu/libc-2.27.so
(version 20.5.2.7 (official build))


Вставляю таким скриптом:

zcat "$FILENAME" \
| clickhouse-client \
   --user="$CLICKHOUSE_USER" \
   --password="$CLICKHOUSE_PASSWORD" \
   --input_format_skip_unknown_fields=1 \
   --query="INSERT INTO $CLICKHOUSE_TABLE FORMAT JSONEachRow"


Кто-нибудь сталкивался с похожей проблемой? Как это исправить? Пока на ум приходит только - использовать в JSON старое название колонки.
в какой таблице вы переименовали колонку?
в kafka ? там вроде не поддерживается rename
источник

OG

Oleksiy Golovko in ClickHouse не тормозит
Может можно еще как-то увидеть прогресс или очередь?
источник

DC

Denny Crane (I don't... in ClickHouse не тормозит
Oleksiy Golovko
Может можно еще как-то увидеть прогресс или очередь?
что показывает?

set optimize_throw_if_noop = 1;
OPTIMIZE TABLE t PARTITION 202005 FINAL DEDUPLICATE
источник

OG

Oleksiy Golovko in ClickHouse не тормозит
DB::Exception: Cannot select parts for optimization: Part 202005_0_2566_8 has already been assigned a merge into 202005_0_2566_9.
источник

OG

Oleksiy Golovko in ClickHouse не тормозит
собственно, то же, что в логе
источник