Обсуждаем ClickHouse
вот да - это и остается. просто было интересно реально ли сразу сгенерить. Спасибо за хелп!
Читать полностью…спасибо за ответ. да, именно так и пробовал. все упирается в ошибку: Expected literal, got concat. Т.е. если даже оборачивать это все через явный concat() валится та же ошибка.
Читать полностью…Если source-табличка тут же на том же инстансе и тех же дисках, и распределение запросов по ключам равномерное (нет более частых) - то нет смысла и только в память?
Читать полностью…Подскажите, я правильно понимаю, словари с direct/complex_keys_direct layout по производительности не отличаются от прямых запросов в source, просто позволяют использовать словарные функции?
Читать полностью…#вакансия #vacancy #DBA #ClickHouse #igaming #Cyprus #Middle
Компания: Tribe
Локация и формат работы: Лимассол
Позиция: Middle DBA with ClickHouse
Компенсация: обсуждаем индивидуально
Описание продукта и задач: Огромный и увлекательный продукт в сфере онлайн-развлечений от крупнейшего мирового холдинга в сфере igaming.
🔻Вы:
- от 2 лет опыта с ClickHouse (движки, индексы, репликация, шардинг)
- опыт работы с Linux, Bash, SQL
- опыт работы с системами мониторинга
- soft-skills на отличном уровне
- позитив, юмор и рок:)
🔻Чем будете заниматься?
- Проектирование архитектуры хранилищ данных
- Сопровождение существующих кластеров ClickHouse
- Консультации и поддержка разработчиков ПО
- Конфигурирование и оптимизация инстансов ClickHouse
- Настройка и оптимизация процессов репликации и шардинга, конфигурация Zookeeper
- Обеспечение качества данных, создание и поддержка метрик QA
🔻Дополнительный плюс:
- базовые навыки программирования на Python
- опыт работы с системами управления конфигурацией, такими как Ansible, Puppet или SaltStack
- продвинутое знание и опыт работы с реляционными СУБД: MySQL и/или PostgreSQL
Что мы готовы предложить:
🔻Мы:
- годовой бонус по результатам работы
- помощь с релокацией, оформлением визы для Вас и членов семьи
- беспроцентная рассрочка на покупку авто от компании
- оплачиваемый отпуск по законам Кипра
- оплачиваемый спорт
- частичная оплата английского
- корпоративное питание в офисе (завтраки, обеды)
- офисный спортзал
- оплата выставок, конференций
- технически сложные задачи и возможность развиваться как вертикально, так и горизонтально
📌контакт: @DzmitryS6
Всем привет.
Помогите с копированием данных из таблицы между двумя clickhouse. Экспорт данных из таблицы будет делаться с ClickHouse версии 23.10.2.13. Импорт данных будет на ClickHouse версии 25.5.2.47. Как правильно скопировать данные и потом их импортировать?
расскажите пожалуйста о нем, чтобы другие тоже могли потом поправить
Читать полностью…уверены что мутацию в нужном сервере запускаете?
Читать полностью…SELECT hostName(), * FROM clusterAllReplicas('cluster-name',system.mutations) WHERE mutations_id='0000000018' FORMAT VerticalЧитать полностью…
в запросе еще указываются
settings mutations_sync=2,
allow_nondeterministic_mutations=1;
ну я уже рецепт сказал. использование sub select в мутациях это путь к изнасилованию диска... sub select для каждой строки выполняется...
Читать полностью…ну попробовать скобочки расставить если?
ALTER TABLE db.table DELETE WHERE `Ссылка` IN ( (SELECT `Ссылка` FROM temp_tables.S_Nomenklatura_update) UNION DISTINCT (SELECT `Ссылка` FROM temp_tables.S_Nomenklatura_delete) )Читать полностью…
в профиле каком? в дефолтном? в каком профиле по вашему мутация исполняется?
Читать полностью…да но почему.. там же явно вы UNION DISTINCT указали...
ну разве что оно ошибочно UNION DISTINCT SELECT читает как UNION SELECT DISTINCT
ок. собирайте литерал на стороне приложения тогда
Читать полностью…а что именно не получается?
как именно выглядел запрос?
BACKUP TABLE data TO S3('https://mars-doc-test.s3.amazonaws.com/backup-S3/my_backup-' || formatDateTime(now(), '%Y-%m-%d'), 'ABC123', 'Abc+123')
ну там в зависимости от source
стараются сделать batch запрос
WHERE id IN (...)
для redis например делается MGET и т.п.
напрямую смысла не имеют, обычно поверх еще cached добавляется... тогда если cache hit rate хороший, то работает норм и памяти может меньше есть...
Добрый день коллеги. А подскажите пожалуйста есть ли возможность бэкапировать архив в S3 с именем содержащим дату/время? т.е. что-то по
типу:
BACKUP TABLE data TO S3('https://mars-doc-test.s3.amazonaws.com/backup-S3/my_backup-{current_date}', 'ABC123', 'Abc+123')
вы можете сделать просто insert into select from remote()
Читать полностью…в итоге из двух таблиц через union скачивают в одну и там уже делают delete нужных строк, в два действия в общем
Читать полностью…коллеги говорят что нашли обходной путь, спасибо
Читать полностью…очень странно, там какая-то старая мутация с таким id
Row 1:Читать полностью…
──────
hostName(): host
database: database
table: table
mutation_id: 0000000018
command: (UPDATE SenderType = 'HUB' WHERE (SenderType = '') AND (SenderId = 'ba979f34-f025-4ce6-b10b-f6cfff73063d'))
create_time: 2025-04-29 03:08:50
block_numbers.partition_id: ['202502','202503','202504']
block_numbers.number: [19,19,27]
parts_to_do_names: []
parts_to_do: 0
is_done: 1
is_killed: 0
latest_failed_part:
latest_fail_time: 1970-01-01 00:00:00
latest_fail_reason:
latest_fail_error_code_name:
1 row in set. Elapsed: 0.126 sec. Processed 5.04 thousand rows, 8.19 MB (40.15 thousand rows/s., 65.23 MB/s.)
Peak memory usage: 15.35 MiB.
тогда
SELECT hostName(), * FROM clusterAllReplicas('cluster-name',system.mutations) WHERE is_done=0 FORMAT VerticalЧитать полностью…
а тут пусто
select * from system.mutations where is_done = '0';Читать полностью…
Exception happened during execution of mutation '0000000018' with part '202506_2_2_0_20' reason: 'Code: 36. DB::Exception: UNION mode UNION_DEFAULT must be normalized. (BAD_ARGUMENTS)
This error maybe retryable or not. In case of unretryable error, mutation can be killed with KILL MUTATION query 0. DB::checkMutationStatus(std::optional<DB::MergeTreeMutationStatus>&, std::set<String, std::less<String>, std::allocator<String>> const&) @ 0x0000000014a5df89 1. DB::StorageReplicatedMergeTree::waitMutationToFinishOnReplicas(std::vector<String, std::allocator<String>> const&, String const&) const @ 0x00000000143776f9 2. DB::StorageReplicatedMergeTree::waitMutation(String const&, unsigned long) const @ 0x00000000144484d4 3. DB::StorageReplicatedMergeTree::mutate(DB::MutationCommands const&, std::shared_ptr<DB::Context const>) @ 0x000000001447a032 4. DB::InterpreterAlterQuery::executeToTable(DB::ASTAlterQuery const&) @ 0x0000000013805a19 5. DB::InterpreterAlterQuery::execute() @ 0x00000000138026ed 6. DB::executeQueryImpl(char const*, char const*, std::shared_ptr<DB::Context>, DB::QueryFlags, DB::QueryProcessingStage::Enum, DB::ReadBuffer*, std::shared_ptr<DB::IAST>&) @ 0x0000000013c17628 7. DB::executeQuery(DB::ReadBuffer&, DB::WriteBuffer&, bool, std::shared_ptr<DB::Context>, std::function<void (DB::QueryResultDetails const&)>, DB::QueryFlags, std::optional<DB::FormatSettings> const&, std::function<void (DB::IOutputFormat&, String const&, std::shared_ptr<DB::Context const> const&, std::optional<DB::FormatSettings> const&)>, std::function<void ()>) @ 0x0000000013c1ba6f 8. DB::HTTPHandler::processQuery(DB::HTTPServerRequest&, DB::HTMLForm&, DB::HTTPServerResponse&, DB::HTTPHandler::Output&, std::optional<DB::CurrentThread::QueryScope>&, StrongTypedef<unsigned long, ProfileEvents::EventTag> const&) @ 0x0000000014f1641b 9. DB::HTTPHandler::handleRequest(DB::HTTPServerRequest&, DB::HTTPServerResponse&, StrongTypedef<unsigned long, ProfileEvents::EventTag> const&) @ 0x0000000014f1a029 10. DB::HTTPServerConnection::run() @ 0x0000000014fcfcca 11. Poco::Net::TCPServerConnection::start() @ 0x00000000186e4307 12. Poco::Net::TCPServerDispatcher::run() @ 0x00000000186e4759 13. Poco::PooledThread::run() @ 0x00000000186afa5b 14. Poco::ThreadImpl::runnableEntry(void*) @ 0x00000000186adf3d 15. ? @ 0x00007fda8a49f802 16. ? @ 0x00007fda8a43f450 . (UNFINISHED) (version 25.5.2.47 (official build))Читать полностью…
поставил в дефолтном, протестировал что не работает и убрал
Читать полностью…пытался с настройкой
SET union_default_mode = 'DISTINCT';
или в профиле указать - результат тот же
как будто срабатывает это, хотя в запросе явно указано UNION DISTINCT
If you use UNION without explicitly specifying UNION ALL or UNION DISTINCT, you can specify the union mode using the union_default_mode setting. The setting values can be ALL, DISTINCT or an empty string. However, if you use UNION with union_default_mode setting to empty string, it will throw an exception. The following examples demonstrate the results of queries with different values setting.Читать полностью…