feat: изменён режим загрузки данных по умолчанию — теперь все записи

- По умолчанию bash ./scripts/load_kafka_data.sh
Resetting topics: browser_events location_events device_events geo_events
Loading mode: full (LIMIT=unset)
Bootstrap (inside container): kafka:29092
Publishing: data/browser_events.jsonl -> browser_events (full)
Publishing: data/device_events.jsonl -> device_events (full)
Publishing: data/geo_events.jsonl -> geo_events (full)
Publishing: data/location_events.jsonl -> location_events (full)
Done. загружает все записи из файлов (вместо 50 строк)
- Для ограничения используется bash ./scripts/load_kafka_data.sh
- Удалён устаревший параметр

Изменённые файлы:
- scripts/load_kafka_data.sh — обновлена логика и документация
- plans/runbook.md — обновлены примеры использования
- plans/kafka_ingest_plan.md — обновлён план реализации

Теперь:
- bash ./scripts/load_kafka_data.sh
Resetting topics: browser_events location_events device_events geo_events
Loading mode: full (LIMIT=unset)
Bootstrap (inside container): kafka:29092
Publishing: data/browser_events.jsonl -> browser_events (full)
Publishing: data/device_events.jsonl -> device_events (full)
Publishing: data/geo_events.jsonl -> geo_events (full)
Publishing: data/location_events.jsonl -> location_events (full)
Done. — все записи (4000 сообщений)
- bash ./scripts/load_kafka_data.sh
Resetting topics: browser_events location_events device_events geo_events
Loading mode: slice (LIMIT=50)
Bootstrap (inside container): kafka:29092
Publishing: data/browser_events.jsonl -> browser_events (first 50 lines)
Publishing: data/device_events.jsonl -> device_events (first 50 lines)
Publishing: data/geo_events.jsonl -> geo_events (first 50 lines)
Publishing: data/location_events.jsonl -> location_events (first 50 lines)
Done. — 50 строк каждого типа (200 сообщений)
This commit is contained in:
2026-02-08 17:21:22 +03:00
parent 33f8172892
commit 4819e10cf8
3 changed files with 24 additions and 28 deletions
+7 -13
View File
@@ -9,9 +9,9 @@ set -euo pipefail
# - Kafka CLI запускаем внутри docker‑контейнера `kafka`, а сами файлы читаем на хосте.
#
# Как запускать:
# make data
# make data # залить файлы целиком (по умолчанию)
# LIMIT=100 make data # взять первые 100 строк каждого файла
# FULL=1 make data # залить файлы целиком
# LIMIT=50 make data # взять первые 50 строк каждого файла (быстрый тест)
# RESET_TOPICS=0 make data # не пересоздавать топики, а дописать сообщения
#
# Требования:
@@ -22,17 +22,11 @@ COMPOSE_BIN="${COMPOSE_BIN:-docker compose}"
KAFKA_SERVICE="${KAFKA_SERVICE:-kafka}"
BOOTSTRAP_SERVER="${BOOTSTRAP_SERVER:-kafka:29092}"
# Поведение по умолчанию: пересоздать топики и залить небольшой “срез” данных.
# Поведение по умолчанию: пересоздать топики и залить все данные.
RESET_TOPICS="${RESET_TOPICS:-1}"
FULL="${FULL:-0}"
LIMIT="${LIMIT:-50}"
# Валидация параметров: лучше упасть с понятной ошибкой, чем молча сделать “не то”.
if [[ "${FULL}" != "0" && "${FULL}" != "1" ]]; then
echo "FULL must be 0 or 1 (got: ${FULL})" >&2
exit 1
fi
LIMIT="${LIMIT:-}"
# Валидация параметров: лучше упасть с понятной ошибкой, чем молча сделать "не то".
if [[ "${RESET_TOPICS}" != "0" && "${RESET_TOPICS}" != "1" ]]; then
echo "RESET_TOPICS must be 0 or 1 (got: ${RESET_TOPICS})" >&2
exit 1
@@ -131,11 +125,11 @@ fi
# - full: весь файл
# - slice: первые N строк (быстрее для отладки)
mode="slice"
if [[ "$FULL" == "1" || "$LIMIT" == "0" || -z "$LIMIT" ]]; then
if [[ "$LIMIT" == "0" || -z "$LIMIT" ]]; then
mode="full"
fi
echo "Loading mode: ${mode} (FULL=${FULL}, LIMIT=${LIMIT:-unset})"
echo "Loading mode: ${mode} (LIMIT=${LIMIT:-unset})"
echo "Bootstrap (inside container): ${BOOTSTRAP_SERVER}"
for f in "${files[@]}"; do