184 похожих чатов

Это 20 TB уже пожатых, Delta + ZSTD. partition pruning

хочу!

залил рандомные 500gb raw данных и вижу вот такое распределение по датам:

SELECT
year(data_time) AS year,
count(*) AS cnt
FROM r2
GROUP BY year
ORDER BY year ASC

┌─year─┬────────cnt─┐
│ 1900 │ 1717 │
│ 1970 │ 336 │
│ 1991 │ 10 │
│ 1993 │ 1 │
│ 1998 │ 1 │
│ 1999 │ 7 │
│ 2000 │ 56 │
│ 2001 │ 74706 │
│ 2002 │ 424137 │
│ 2003 │ 27645 │
│ 2004 │ 31 │
│ 2005 │ 62790 │
│ 2006 │ 65497 │
│ 2007 │ 20372 │
│ 2008 │ 507930 │
│ 2009 │ 1053681 │
│ 2010 │ 321839 │
│ 2011 │ 399510 │
│ 2012 │ 88383979 │
│ 2013 │ 189136342 │
│ 2014 │ 380106969 │
│ 2015 │ 607335989 │
│ 2016 │ 801748373 │
│ 2017 │ 1257747968 │
│ 2018 │ 1810193807 │
│ 2019 │ 2366066940 │
│ 2020 │ 3058931244 │
│ 2021 │ 3963027933 │
│ 2022 │ 2998302621 │
│ 2023 │ 15 │
│ 2026 │ 7 │
│ 2029 │ 16670 │
│ 2032 │ 20 │
│ 2045 │ 6 │
│ 2051 │ 81 │
│ 2059 │ 905 │
│ 2060 │ 156 │
│ 2061 │ 6220 │
│ 2062 │ 20918 │
│ 2063 │ 92 │
│ 2081 │ 9 │
│ 2102 │ 28 │

когда залью оставшиеся 200TB картина немного измениться, но все равно 99% данных равномерно размажется по 10и годам, остальное раскидает практически рандомно (сбитые чаcы на датчиках).
какой ключ партиционирования посоветуете чтобы запросы с предикатом по timestamp работали максимально быстро? при toYYYYMM еще на этапе заливки raw данных будет too many parts per insert, т.к. исходные данные в csv сортированы по device_id, data_item_id
хотелось бы toYYYYMM для диапазона 2000-2030 и toYYYY для всего остального, но как это сформулировать?

1 ответов

11 просмотров

сделайте новую колонку, в которой либо настоящая дата, либо первое января, в зависимости от года, все данные года будут в январской партиции но и фильтровать в запросах надо будет по этой же колонке, а не по оригинальной

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта