Narzędzia
Python
W terminalu wpisz:
pythonJeśli komenda nie została odnaleziona, spróbuj:
python3Zwróć uwagę, aby Twoja wersja nie była niższa niż 3.10. Aby wyjść z powłoki Pythona, użyj funkcji exit():
Python 3.13.2 (main, Feb 4 2025, 14:51:09) [Clang 16.0.0 (clang-1600.0.26.6)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()Nowe środowisko Pythona
python3 -m venv <nazwa_srodowiska>
# Linux / macOS
source <nazwa_srodowiska>/bin/activate
# Windows
# <nazwa_srodowiska>\Scripts\activate
(venv)$Szybka instalacja podstawowych bibliotek i JupyterLab:
pip install --no-cache --upgrade pip setuptools
pip install jupyterlab numpy pandas matplotlib scipy
# jeśli masz plik requirements.txt
pip install -r requirements.txt
# uruchom JupyterLab
jupyter labW przeglądarce internetowej wpisz: localhost:8888
Po ponownym uruchomieniu komputera przejdź do katalogu, w którym utworzyłeś środowisko, aktywuj je i uruchom JupyterLab:
source <nazwa_srodowiska>/bin/activate
jupyter labNaucz się Pythona
Kurs podstaw Pythona — Tomas Beuzen — polecam.
Utwórz konto na Kaggle, przejdź do zakładki Courses i przerób cały moduł Pythona. Zawiera on:
- wyrażenia i zmienne
- funkcje
- warunki i flow programu
- listy
- pętle
- stringi i słowniki
- dodawanie i używanie zewnętrznych bibliotek
Git
Tekst na podstawie strony jak korzystać z serwisu GitHub.
Pracując nad projektem (samodzielnie lub w zespole), często potrzebujesz sprawdzić, jakie zmiany, kiedy i przez kogo zostały wprowadzone. Do tego służy system kontroli wersji — Git.
Git możesz pobrać i zainstalować na dowolnym systemie operacyjnym. Najczęściej jednak korzysta się z serwisów hostujących repozytoria Git. Jednym z najbardziej rozpoznawanych jest GitHub, dzięki któremu możesz korzystać z systemu Git bezpośrednio z poziomu przeglądarki.
W darmowej wersji serwisu GitHub możesz przechowywać pliki zarówno w publicznych, jak i prywatnych repozytoriach.
git --versionStruktura GitHuba
Na najwyższym poziomie znajdują się konta indywidualne (np. github.com/sebkaz) bądź organizacje. Użytkownicy mogą tworzyć repozytoria publiczne (public) lub prywatne (private).
Jeden plik w repozytorium nie powinien przekraczać 100 MB.
Repo (skrót od repozytorium) tworzymy za pomocą przycisku Create a new repository. Każde repo powinno mieć swoją unikalną nazwę.
Gałęzie (branches)
Główna gałąź repozytorium domyślnie nosi nazwę main (dawniej master).
Najważniejsze polecenia
Ściąganie repozytorium z sieci:
git clone https://adres_repo.gitMożesz też pobrać repozytorium z GitHuba jako plik ZIP.
Tworzenie repozytorium dla lokalnego katalogu:
# tworzenie nowego katalogu
mkdir datamining
# przejście do katalogu
cd datamining
# inicjalizacja repozytorium
git init
# dodajmy plik
echo "Info" >> README.mdPołączenie lokalnego repozytorium z kontem na GitHubie:
git remote add origin https://github.com/<twojGit>/nazwa.gitObsługa w 3 krokach:
# sprawdź zmiany
git status
# 1. dodaj wszystkie zmiany
git add .
# 2. zapisz bieżący stan wraz z opisem
git commit -m "opis zmian"
# 3. wyślij na serwer
git push origin mainWarto obejrzeć kurs Git na YouTube.
Ciekawe i proste wprowadzenie można znaleźć tutaj.
Docker
W celu pobrania Dockera przejdź do oficjalnej strony.
Jeśli wszystko zainstalowało się prawidłowo, wykonaj następujące polecenia:
- Sprawdź zainstalowaną wersję:
docker --version- Ściągnij i uruchom obraz testowy:
docker run hello-world- Przegląd ściągniętych obrazów:
docker images- Przegląd uruchomionych kontenerów:
docker ps
docker ps -a- Zatrzymanie uruchomionego kontenera:
docker stop <CONTAINER_ID>- Usunięcie kontenera:
docker rm -f <CONTAINER_ID>Docker Compose
Docker Compose pozwala definiować i uruchamiać wielokontenerowe środowiska za pomocą jednego pliku docker-compose.yml. Na zajęciach będziemy go używać do stawiania środowisk z Kafką, Sparkiem i innymi usługami.
Sprawdź, czy masz zainstalowany Docker Compose:
docker compose versionPrzykładowy plik docker-compose.yml:
services:
zookeeper:
image: confluentinc/cp-zookeeper:7.6.0
environment:
ZOOKEEPER_CLIENT_PORT: 2181
kafka:
image: confluentinc/cp-kafka:7.6.0
depends_on:
- zookeeper
ports:
- "9092:9092"
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1Uruchomienie i zatrzymanie:
# uruchom wszystkie usługi w tle
docker compose up -d
# sprawdź działające kontenery
docker compose ps
# zatrzymaj i usuń kontenery
docker compose downApache Kafka
Apache Kafka to rozproszona platforma do strumieniowego przetwarzania danych. Umożliwia publikowanie, subskrybowanie i przetwarzanie strumieni rekordów w czasie rzeczywistym.
Na zajęciach będziemy uruchamiać Kafkę za pomocą Docker Compose (patrz wyżej).
Podstawowe pojęcia:
- Producent (Producer) — wysyła dane (wiadomości) do Kafki.
- Konsument (Consumer) — odczytuje dane z Kafki.
- Temat (Topic) — kategoria, do której trafiają wiadomości.
- Partycja (Partition) — podział tematu umożliwiający równoległe przetwarzanie.
- Broker — serwer Kafki przechowujący dane.
Szybki test Kafki z Dockera:
# utwórz temat
docker compose exec kafka kafka-topics --create \
--topic test --bootstrap-server localhost:9092 \
--partitions 1 --replication-factor 1
# wyślij wiadomość (producent)
docker compose exec kafka kafka-console-producer \
--topic test --bootstrap-server localhost:9092
# odczytaj wiadomości (konsument) — w nowym terminalu
docker compose exec kafka kafka-console-consumer \
--topic test --bootstrap-server localhost:9092 --from-beginningBiblioteka Pythonowa: pip install confluent-kafka
Więcej informacji: Apache Kafka — dokumentacja
Apache Spark
Apache Spark to silnik do rozproszonego przetwarzania danych, obsługujący zarówno tryb wsadowy (batch), jak i strumieniowy (streaming). Na zajęciach będziemy korzystać z PySpark — interfejsu Pythonowego do Sparka.
Instalacja PySpark:
pip install pysparkSzybki test:
from pyspark.sql import SparkSession
spark = SparkSession.builder \
.appName("Test") \
.master("local[*]") \
.getOrCreate()
df = spark.createDataFrame(
[(1, "Anna", 28), (2, "Jan", 35), (3, "Ewa", 22)],
["id", "imie", "wiek"]
)
df.show()
spark.stop()Na dalszych zajęciach będziemy korzystać ze Structured Streaming — modułu Sparka do przetwarzania danych strumieniowych, w tym integracji z Apache Kafka.
Więcej informacji: Apache Spark — dokumentacja