clickhouse_ru | Неотсортированное

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

11016

Обсуждаем ClickHouse

Подписаться на канал

ClickHouse не тормозит

там одна проблемма - массивы

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

ClickHouse не тормозит

Спасибо. А если без pandas, то как лучше попробовать?

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

ClickHouse не тормозит

Есть какой-то рекомендуемый подход?

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

ClickHouse не тормозит

Пытался без pandas, не зашло, решил поработать с типами данных.
Вот мой код до pandas:

reader = csv.reader(StringIO(data), delimiter='\t')
header = [col.replace('ym:s:', '') for col in next(reader)] # Упрощённый маппинг
rows = list(reader)

batch_size = 10000
for i in range(0, len(rows), batch_size):
batch = []
for row in rows[i:i+batch_size]:
row_dict = dict(zip(header, row))
row_dict = convert_dates(row_dict)
batch.append(row_dict)

try:
client.insert('yaMetLogs', batch)
print(f"Вставлено {min(i+batch_size, len(rows))}/{len(rows)} строк")
except Exception as e:
print(f"Ошибка при вставке: {str(e)}")
print("Проблемная строка:", batch[0] if batch else "нет данных")

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

ClickHouse не тормозит

я не про это, я про то что с помощью Null таблицу -> MV -> *mergetree вы можете делать любые трансформации при вставке

https://den-crane.github.io/Everything_you_should_know_about_materialized_views_commented.pdf

https://youtu.be/1LVJ_WcLgF8?list=PLO3lfQbpDVI-hyw4MyqxEk3rDHw95SzxJ&t=7597

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

ClickHouse не тормозит

Я поискал в интернете и не нашел чтобы где-то говорилось про то, что вставка в связку null engine -> MV -> ReplicatedMergeTree обеспечивает exactly once.
Если допустить, что у меня всегда вставка в одну партицию, есть поблочная дедупликация в целевой mergetree и deduplicate_blocks_in_dependent_materialized_views=1, то можно ли с уверенностью сказать что данные не потеряются и дубликатов не будет?

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

ClickHouse не тормозит

Что такое до запятой? Запятая это decimal separator?

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

ClickHouse не тормозит

$ cat /etc/clickhouse-server/users.d/allow_deprecated_error_prone_window_functions.xml
<?xml version="1.0" ?>
<clickhouse>
<profiles>
<default>
<allow_deprecated_error_prone_window_functions>1</allow_deprecated_error_prone_window_functions>
</default>
</profiles>
</clickhouse>

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

ClickHouse не тормозит

всем привет
кто может подсказать, как изменить настройку внутри таблицы system.settings?
хочу изменить параметр allow_deprecated_error_prone_window_functions

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

ClickHouse не тормозит

просто думал что это костыль))

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

ClickHouse не тормозит

да, все верно. ответ искался про первую в результате, так что в этом ответе все ок)

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

ClickHouse не тормозит

вот что написал gpt


WITH t AS (
SELECT 1 AS x
UNION ALL
SELECT 2
UNION ALL
SELECT 3
),
t2 AS (
SELECT x::int, ROW_NUMBER() OVER (ORDER BY x) AS rn FROM t
),
t3 AS (
SELECT CASE WHEN rn = 1 THEN NULL ELSE x END AS x, rn FROM t2
)
SELECT
x,
AVG(x) OVER (ORDER BY rn ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS m
FROM t3
ORDER BY rn;


SELECT CASE WHEN rn = 1 THEN NULL

что тоже неверно

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

ClickHouse не тормозит

у вас ROWS BETWEEN 1 PRECEDING AND CURRENT ROW
это ДВЕ строки

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

ClickHouse не тормозит

для кх gpt сказала, что все ок - Use avg(...) or other functions directly, not wrapped )

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

ClickHouse не тормозит

ну.. костыль жеж.. или норм?)))

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

ClickHouse не тормозит

обычные реквесты

и в метрику и в клик


url_params = urlencode(
[
('date1', user_request.start_date_str),
('date2', user_request.end_date_str),
('source', user_request.source),
('fields', ','.join(user_request.fields))
]
)

headers = {'Authorization': 'OAuth ' + user_request.token}

url = '{host}/management/v1/counter/{counter_id}/logrequests/evaluate?'\
.format(host=HOST, counter_id=user_request.counter_id) + url_params

r = requests.get(url, headers=headers)

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

ClickHouse не тормозит

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

у меня до сих пор работает

но если хочется пандас, то вот примитивный пример
https://github.com/handgunman/primitive-scripts/blob/main/logs_download_simple.py

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

ClickHouse не тормозит

Сам не рад, что полез в pandas

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

ClickHouse не тормозит

Добрый вечер. Подскажите, пожалуйста, какой наилучший алгоритм для загрузки с помощью python скрипта логов визитов из API Метрики в таблицу ClickHouse.
Я получаю данные

response_result = requests.get(api_url_result, headers=headers)

Как я понимаю данные в tsv формате
tsv_data = StringIO(response_result.text)
df = pd.read_csv(tsv_data, sep='\t')

Вот я и получаю pandas df. А дальше начинается полный писец. Не могу привести все 90 полей в чувства, чтобы они загрузились. Может не стоить возиться с pandas, а загружать другим способом? Подскажите, плс.

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

ClickHouse не тормозит

thousand separator не поддерживается, и в c++ printf тоже емнип не умеет

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

ClickHouse не тормозит

До запятой, разделить разрядов, например 55 555 555.55 через пробел, что-то все варианты перебрал, ошибка. SELECT printf('%.01f',55555555.55). Что нужно указать до точки в функции...

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

ClickHouse не тормозит

Это к сожалению работает только для знака после запятой( все варианты как разряды перебрал(

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

ClickHouse не тормозит

табличка в ch служебная

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

ClickHouse не тормозит

лан, поживем так) @den_crane спасибки)

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

ClickHouse не тормозит

я решил так


row_number(x) OVER (ORDER BY x ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS rn,
if(rn=1,null,m) as result

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

ClickHouse не тормозит

через prometheus доступно

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

ClickHouse не тормозит

всем привет! подскажите кто как мониторит состояние keeper'ов? как понять, что кластер операбелен, кворум собран и пр? собирать вывод 4lw или есть нормальные инструменты? как проверить состояние синхронизации метадаты?

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

ClickHouse не тормозит

If x is Nullable, the result will have NULL in the first row (or wherever there’s insufficient data).

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

ClickHouse не тормозит

в SQL есть функция avg
если в нее попадает два значения Null и 1 то avg=1

postgresql => select avg(x) from (select 1 x union all select null) t;
1.00000000000000000000

можно у gpt спросить про pg

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

ClickHouse не тормозит

SELECT printf('%s %s %.02f', 'Hello', 'World', 2024.123456);

https://github.com/ClickHouse/ClickHouse/issues/34142

Читать полностью…
Подписаться на канал