clickhouse_ru | Unsorted

Telegram-канал clickhouse_ru - ClickHouse не тормозит

11238

Обсуждаем ClickHouse

Subscribe to a channel

ClickHouse не тормозит

ну надо выбирать используя указывая тип

.:"Array(Nullable(Int64))"

https://fiddle.clickhouse.com/da21e811-173a-4c91-8fda-7389838db58c

Читать полностью…

ClickHouse не тормозит

всем доброго времени суток. имеется странный вопрос: имеется стендэлон сервер клика, куда когда-то давно загрузили бекапы баз данных, и сейчас у них у всех UUID идентичен. как можно сменить uuid у базы данных(нужно для управления через terraform) ?

Читать полностью…

ClickHouse не тормозит

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

Читать полностью…

ClickHouse не тормозит

для DATABASE ENGINE = Backup
ошибка:
SQL Error [22000]: Code: 87. DB::Exception: Seek in compressed archive is not supported.
запрос вида SELECT * FROM TABLE
что бы могла означать? как полечить?

located on disk backup of type none, from mark 22409 with max_rows_to_read = 8192, offset = 0): While executing MergeTreeSelect(pool: ReadPool, algorithm: Thread). (CANNOT_SEEK_THROUGH_FILE) (version 25.7.1.3997 (official build))

Читать полностью…

ClickHouse не тормозит

ну так не интересно, так и не попробовали куда нибудь в табличную функцию format() засунуть, возможно об Template как то, или ещё как то извратиться )

Читать полностью…

ClickHouse не тормозит

А откуда они у вас приходят? Тест в фидл неверный, потому что это не данные а литералы. Вот так все валидно - https://fiddle.clickhouse.com/0d92ace6-ba6f-415d-9114-cfdc5a5b8c7e

Если у вас в данных (CSV/Kafka/etc) приедут \n - это нормально. А в литералах надо бекслешить - \\n

Читать полностью…

ClickHouse не тормозит

тоже пришло такое в голову с ходу, но кажется так только хуже

SELECT
query,
mapFilter((x, _) -> ((x ILIKE '%cpu%') OR (x ILIKE '%real%') OR (x ILIKE '%system%') OR (x ILIKE '%user%')), ProfileEvents) AS cpu
FROM system.query_log
WHERE (query_id IN ('8307fc8d-ba0e-4150-b120-f7900d42f0b0', '06e05b19-db96-4629-8fcf-dc926e38e04d')) AND (type = 'QueryFinish')
FORMAT Vertical

Query id: 466324d3-ed7a-41a2-8d8b-2feebc79e734

Row 1:
──────
query: with
'{
"errorNumber": "01f0a8d0-e6d7-15f0-9570-b9d3f0a27ee7",
"errorMessage": "Данные для передачи на Портал\n\tat portal.process пустой набор данных\n",
"processingStage": 128
}' as message

select JSONExtract(replaceRegexpAll(message, '[\n\r\t]', ' '), 'Tuple(errorNumber UUID, errorMessage String, processingStage UInt16)') as parsed_str;
cpu: {'RealTimeMicroseconds':1403,'UserTimeMicroseconds':858,'SystemTimeMicroseconds':277,'OSCPUVirtualTimeMicroseconds':1134}

Row 2:
──────
query: with
'{
"errorNumber": "01f0a8d0-e6d7-15f0-9570-b9d3f0a27ee7",
"errorMessage": "Данные для передачи на Портал\n\tat portal.process пустой набор данных\n",
"processingStage": 128
}' as message

select JSONExtract(replaceAll(replaceAll(replaceAll(message, '\n', ' '),'\t',' '),'\r',' '), 'Tuple(errorNumber UUID, errorMessage String, processingStage UInt16)') as parsed_str
;
cpu: {'RealTimeMicroseconds':1534,'UserTimeMicroseconds':1327,'SystemTimeMicroseconds':31,'OSCPUWaitMicroseconds':53,'OSCPUVirtualTimeMicroseconds':1356}

Читать полностью…

ClickHouse не тормозит

починить поломатый JSON на входе - хорошая идея. Что вам в ней не нравится? https://fiddle.clickhouse.com/64a2587b-0a58-42ea-8b2f-30ab1f6237a5

Читать полностью…

ClickHouse не тормозит

исчерпывающий список настроек выглядит как-то так в моём понимании:


path: '{{ clickhouse_server_storage_path }}/'
tmp_path: '{{ clickhouse_server_storage_path }}/tmp/'
user_files_path: '{{ clickhouse_server_storage_path }}/user_files/'
user_scripts_path: '{{ clickhouse_server_storage_path }}/user_scripts/'
format_schema_path: '{{ clickhouse_server_storage_path }}/format_schemas/'

user_directories: # users/roles/grants/quotas
local_directory:
path: '{{ clickhouse_server_storage_path }}/access/'

named_collections_storage: # credentials for external resources like S3/PostgreSQL
type: local
path: '{{ clickhouse_server_storage_path }}/named_collections/'

user_defined_path: '{{ clickhouse_server_storage_path }}/user_defined/' # user-defined functions (CREATE FUNCTION)
workload_path: '{{ clickhouse_server_storage_path }}/workload/' # workload definitions (CREATE WORKLOAD, CREATE RESOURCE, ...)

Читать полностью…

ClickHouse не тормозит

trim(BOTH)
https://clickhouse.com/docs/sql-reference/functions/string-functions#trimboth

Читать полностью…

ClickHouse не тормозит

Можно объявить storage_policy с именем default, с диском который вам дали, остальное оставить на дефолтах. Метаданные будут по привычному пути /var/lib/clickhouse, но они весят копье. Данные будут на вашем диске. Это удобно, если вы хотите перевытянуть например реплику через флажок force_restore_data, или перевытянуть данные одного диска, чтобы не пересоздавать таблицы. Ну и в принципе в много-дисковых сетапах, если вдруг вам ещё дадут диск плюсом вместо расширения текущего.

Если всё таки будет сильно засирать корень какими то external data или другой времянкой, можно ещё докунуть в конфиг <tmp_policy>default</tmp_policy> вместо <tmp_path>.

Читать полностью…

ClickHouse не тормозит

Я сделал policies, так всё родное в /var/lib/clickhouse, а нужная база на нужном диске

/etc/clickhouse-server/config.d/storage.xml
<clickhouse>
<storage_configuration>
<disks>
<netflow>
<path>/netflow/</path>
</netflow>
</disks>

<policies>
<netflow>
<volumes>
<netflow>
<disk>netflow</disk>
</netflow>
</volumes>
</netflow>
</policies>
</storage_configuration>
</clickhouse>

Читать полностью…

ClickHouse не тормозит

Это я думал, но там уже есть что-то после запуска клика. Не упадет ничего?

Читать полностью…

ClickHouse не тормозит

Привет. На КХ-инстансе был создан локальный бекап через clickhouse-backup, затем, при попытке удаления бекапа, по ошибке (вместо clickhouse-backup delete`) была вручную удалена директория бекапа из директории `backup, и теперь имеем ситуацию, когда где-то в файлах данных лежат, как я понимаю, файл зафриженных партишенов, но вручную "отделять котлеты от мух" выглядит задачей нетривиальной. Ну и clickhouse-backup list теперь пуст 🙂

Подскажите, пожалуйста, правильно ли я понимаю, что clickhouse-backup clean - это как раз про мой случай? И оно поможет удалить даже вот такие "поврежденные" бекапы?

Читать полностью…

ClickHouse не тормозит

В system.query_log запросы к удаленным кластерам шифруются и отображаются как remote(XXXXXX), скрывая потенциальные логины и пароли. Нет ли возможности как-то достать конкретные таблицы, к которым делается запрос внутри remote?

Читать полностью…

ClickHouse не тормозит

rm /var/lib/clickhouse/uuid
+restart
ClickHouse сгенерит новый uuid при старте

Читать полностью…

ClickHouse не тормозит

Добрый день!
Может, кто-то сталкивался с такими проблемами в ClickHouse:

1. Проблема с чтением JSON
Есть колонка с JSON (вложенные массивы), запрос выдает ошибку
argument 2 is of type dynamic while arraySum expects Array

SELECT *
FROM dev.my_table
WHERE
arraySum(step ->
arrayCount(combination ->
arrayCount(activatedCell ->
arrayExists(reel ->
reel.X = activatedCell.X
AND arrayExists(cell ->
cell.Y = activatedCell.Y
AND cell.Symbol.SymbolCode = 'Hi1',
reel.Cells
),
step.EvaluatedBoard.Reels
),
combination.ActivatedCell
) = 4,
step.WonCombinations
),
SpinJson.Spin.Steps
)
AND arraySum(step -> length(step.WonCombinations), SpinJson.Spin.Steps) = 1
AND FeaturesKey = 'None'
AND GameModeName = 'BaseGame'
AND toDecimal32(WinMultiplier,4) = toDecimal32(0.7,4)
LIMIT 1;

2. Если поменять JSON на JSON Object Type то первая проблема пропадает
Но при вставке JSON через .NET клиент (https://github.com/DarkWanderer/ClickHouse.Client)
ловлю:
System.OutOfMemoryException
JSON весом 40гб

Спасибо заранее за любые советы 🙏

Читать полностью…

ClickHouse не тормозит

А NOT_FOUND_COLUMN_IN_BLOCK это data corruption же уже?

Читать полностью…

ClickHouse не тормозит

не последний раз, может ещё придётся)

Читать полностью…

ClickHouse не тормозит

Блин, точно, всё хорошо и без преобразования. Идёт из Kafka, я решил проверить заранее, взял json как строку и пытался.
Спасибо!

Читать полностью…

ClickHouse не тормозит

Jsonextract в разы дороже

Читать полностью…

ClickHouse не тормозит

Да как-то не нравится такое недешёвое преобразование. Replace по каждому большому json как-то не очень

Читать полностью…

ClickHouse не тормозит

Можно отдельно обработать это поле


simpleJSONExtractRaw(message, 'errorMessage')

но переносы строк и кавычки останутся в этом случае.

можно потестить еще комбинацию из трех replaceAll

Читать полностью…

ClickHouse не тормозит

Это же не поможет, у меня не пробельные символы, мне надо как-то эффективно сделать чтобы \n и \t не мешали

Читать полностью…

ClickHouse не тормозит

Всем привет. Подскажите как можно лучше сделать парсинг json-строки, в которой не экранированы символы переводы строки и табуляции?
Не придумал ничего лучше, чем делать replaceRegexpAll, но не хотелось бы так оставлять, хочется избежать лишних трат CPU на парсинг. Входная строка будет длиннее гораздо, не как в этом примере.
https://fiddle.clickhouse.com/4c6e8841-6782-4a15-b6bc-1c67cac4336f

Читать полностью…

ClickHouse не тормозит

Спасибо большое. Похоже взлетит. Сейчас гоняю на тестовом окружении - все ок. Всех благ!

Читать полностью…

ClickHouse не тормозит

ну так удалите все что там есть

Читать полностью…

ClickHouse не тормозит

изменить параметр <path> в конфигурационном файле /etc/clickhouse-server/config.xml или файл в директории config.d

<path>/opt/clickhouse/</path>

если данных нет то и переносить ничего не надо

Читать полностью…

ClickHouse не тормозит

Вечер!
Code: 376. DB::Exception: Cannot parse uuid : Cannot parse UUID from FixedString(16): while converting column `

Это я пытаюсь прочитать айсберг (поле uuid). Подскажите пожалуйста , а есть ишью, когда в кх добавится поддержка uuid ?
ClickHouse Iceberg/Parquet reader не умеет автоматически парсить binary(16) в UUID?

from type Nullable(FixedString(16)) to type Nullable(UUID)

Читать полностью…

ClickHouse не тормозит

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

Читать полностью…
Subscribe to a channel