Size: a a a

ClickHouse не тормозит

2021 January 18

СС

Саша Суббота... in ClickHouse не тормозит
Добрый день, подскажите пожалуйста
делаю джойн
select a.dt, b.val
from (select arrayJoin([toDate('2020-01-01'), toDate('2020-01-01')]) as dt) a
   left join (select toDate('2020-01-01') as dt, 100 as val) b
on a.dt = b.dt;
Какую опцию нужно использовать, чтобы результат был примерно таким
  dt                 val
2020-01-01     100
2020-01-01     null
Проще говоря, чтобы джойн происходил для произвольной строки из первой таблицы подходящей по ключу. Пытаюсь использовать any, без особого успеха
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Nikita Tikhomirov
100 партиций, это много\мало?)
для сервера с X CPU и Y дисков это ок
источник

DC

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

M

Maxim in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
>А можно ли удалять партиции по какому-то общему признаку, используя Like в предикате, или только явно указывая?
нельзя.

>Мне необходимо удалить много партиций, все они подходят под условие like '%2021-01-18%' например
можно написать что-то типа

select concat('alter table ',table, ' drop partition id \'', partition_id, '\';')
from system.parts
where active = 1 and table like 'яяя'  and partition like '%2020-09%' group by database,table,partition_id
order by database,table,partition_id
Это чтобы получить селект который потом выполнить нужно на всех серверах?
источник

DC

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

NT

Nikita Tikhomirov in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
для сервера с X CPU и Y дисков это ок
))
X - 16 ядер AMD Ryzen 9 5950X
Y - 1 HDD Seagate Exos X16 14 TB ST14000NM002G, скорость RW 160MB/S
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Maxim
Это чтобы получить селект который потом выполнить нужно на всех серверах?
да чтобы получить SQL скрипт, который потом выполнить нужно на всех серверах
источник

M

Maxim in ClickHouse не тормозит
Понял, спасибо
источник

NT

Nikita Tikhomirov in ClickHouse не тормозит
Я просто экспериментирую с различными видами данных и их внесением, пытаюсь понять, как лучше)
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Nikita Tikhomirov
))
X - 16 ядер AMD Ryzen 9 5950X
Y - 1 HDD Seagate Exos X16 14 TB ST14000NM002G, скорость RW 160MB/S
используйте toYYYYMM
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
партиции в первую очередь для управления длительностью хранения, в 10ю очередь для перфоманса
источник

NT

Nikita Tikhomirov in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
используйте toYYYYMM
Вся проблема в том, что данные вносятся за один день, потом простой, потом опять один день
У данных нету идентификатора, по которому можно было бы их разбить по типу toYYYYMM
Из за этого сделал ID и как партицию сейчас использовал Id % 100

Но это я играюсь и сам ещё не знаю, что из этого выйдет)
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Nikita Tikhomirov
Вся проблема в том, что данные вносятся за один день, потом простой, потом опять один день
У данных нету идентификатора, по которому можно было бы их разбить по типу toYYYYMM
Из за этого сделал ID и как партицию сейчас использовал Id % 100

Но это я играюсь и сам ещё не знаю, что из этого выйдет)
дата внесения? materialize today()
источник

NT

Nikita Tikhomirov in ClickHouse не тормозит
Denny Crane [not a Yandex bot]
партиции в первую очередь для управления длительностью хранения, в 10ю очередь для перфоманса
Будет ли существенная разница у 1 миллиарда строк при различных партициях?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Nikita Tikhomirov
Вся проблема в том, что данные вносятся за один день, потом простой, потом опять один день
У данных нету идентификатора, по которому можно было бы их разбить по типу toYYYYMM
Из за этого сделал ID и как партицию сейчас использовал Id % 100

Но это я играюсь и сам ещё не знаю, что из этого выйдет)
>Из за этого сделал ID и как партицию сейчас использовал Id % 100

и как select-ы выглядят?
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Nikita Tikhomirov
Будет ли существенная разница у 1 миллиарда строк при различных партициях?
будет
источник

NT

Nikita Tikhomirov in ClickHouse не тормозит
SELECT * FROM test_table WHERE str1="test"
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Nikita Tikhomirov
SELECT * FROM test_table WHERE str1="test"
эээ, а КХ тут зачем? Тут кассандра нужна или монга
источник

NT

Nikita Tikhomirov in ClickHouse не тормозит
А, если вы про итоговый селект, то я ещё не начал работать с итоговыми данными, так что не могу точно сказать, сейчас я больше эксперементирую )
источник

DC

Denny Crane [not a Y... in ClickHouse не тормозит
Nikita Tikhomirov
А, если вы про итоговый селект, то я ещё не начал работать с итоговыми данными, так что не могу точно сказать, сейчас я больше эксперементирую )
значит точно
(
X Date materialize today()
...)
partition by toYYYYMM(X)
источник