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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user