https://github.com/airscholar/e2e-data-engineering Этот проект для тех, кто не понимает, почему его проект не работает, даже если он делал всё по видео. Причина может заключаться в несовпадении версий Scala и Spark, устаревших библиотеках или новых версиях инструментов. Более того, оригинальный код из GitHub-репозитория и из видео оказался нерабочим, что подтверждено горьким опытом автора. Этот проект позволяет вам просто запустить и увидеть, как это работает, без ожидания всех деталей из видео.
-
Запустите Docker Compose: Убедитесь, что Docker Compose работает корректно. Все необходимые сервисы (Kafka, Zookeeper, Cassandra и т.д.) поднимутся автоматически.
-
Создайте виртуальное окружение Python (venv): Лучше делать это на Linux.
python3 -m venv venv source venv/bin/activate
-
Установите зависимости: Установите всё из
requirements.txt
.pip install -r requirements.txt
-
Запустите
kafka_stream.py
: Этот скрипт отвечает за отправку данных в Kafka. Если у вас по каким-то причинам не работает Airflow, запустите альтернативный скриптNoDagStream.py
. -
Проверьте Kafka: Убедитесь, что сообщения отправляются в топик. Для этого можно использовать Confluent UI или команду CLI Kafka. Проверьте, создан ли топик и поступают ли в него сообщения.
-
Запустите
spark_stream.py
: Этот скрипт пришлось полностью обновить, так как версия из видео уже не работает. Также код из репозитория GitHub оказался устаревшим. Новый скрипт учитывает все текущие изменения. -
Проверьте базу Cassandra: Зайдите прямо в базу Cassandra и проверьте таблицу
created_users
. Если в таблице появились данные, значит проект работает корректно. Например:SELECT COUNT(*) FROM spark_streams.created_users;
Если видите количество записей, значит всё хорошо.
Если вы добрались до этого момента и у вас есть данные в базе Cassandra, вы молодец! Теперь вы понимаете, как работает этот проект. Удачи!