буферную таблицу:
#!/usr/bin/env bash
eval $(egrep -v '^#' .env | xargs)
shopt -s nullglob
while true; do
for FILENAME in *.jsonl.gz; do
echo "Processing: $FILENAME"
zcat "$FILENAME" \
| clickhouse-client \
--user="$CLICKHOUSE_USER" \
--password="$CLICKHOUSE_PASSWORD" \
--input_format_skip_unknown_fields=1 \
--query="INSERT INTO $CLICKHOUSE_TABLE FORMAT JSONEachRow" \
&& mv "$FILENAME" ./processed
done
echo "Sleep 10"
sleep 10
done
Периодически возникает ошибка:
Received exception from server (version 20.4.2):
Code: 241. DB::Exception: Received from localhost:9000. DB::Exception: Memory limit (total) exceeded: would use 14.10 GiB (attempt to allocate chunk of 4394880 bytes), maximum: 14.10 GiB.
Такую ошибку рекомендуют лечить уменьшением значения max_memory_usage, но оно и так меньше чем RAM на сервере.
<max_memory_usage>13000000000</max_memory_usage>
~ cat /proc/meminfo
MemTotal: 16424828 kB
Нужно ли еще уменьшить это значение? Или ошибку можно побороть другим образом?
тогда, если эта ошибка не связана с вставками, то нужно смотреть что за запросы вызывают эту ошибку
Обсуждают сегодня