Wysokie we/wy na etapie platformy Spark
Następnie ponownie przyjrzyj się statystykom operacji we/wy najdłuższego etapu:
Co to jest wysokie we/wy?
Ile danych należy wziąć pod uwagę w kolumnie We/Wy? Aby to ustalić, najpierw zacznij od najwyższej liczby w dowolnej z podanych kolumn. Następnie należy wziąć pod uwagę łączną liczbę rdzeni procesora CPU we wszystkich naszych pracownikach. Ogólnie każdy rdzeń może odczytywać i zapisywać około 3 MB na sekundę.
Podziel największą kolumnę we/wy według liczby rdzeni procesu roboczego klastra, a następnie podziel ją według czasu trwania sekund. Jeśli wynik wynosi około 3 MB, prawdopodobnie masz powiązanie we/wy. To byłoby wysokie we/wy.
Wysokie dane wejściowe
Jeśli widzisz dużo danych wejściowych na etapie, oznacza to, że poświęcasz dużo czasu na odczytywanie danych. Najpierw zidentyfikuj, jakie dane odczytuje ten etap. Zobacz Identyfikowanie kosztownego odczytu w języku DAG platformy Spark.
Po zidentyfikowaniu określonych danych poniżej przedstawiono kilka metod przyspieszania operacji odczytu:
- Użyj funkcji Delta.
- Spróbuj spróbować Photon. Może to pomóc w dużej szybkości odczytu, zwłaszcza w przypadku szerokich tabel.
- Utwórz zapytanie bardziej selektywne, aby nie trzeba było odczytywać jak najwięcej danych.
- Rozważ ponownie układ danych, aby pomijanie danych było bardziej skuteczne.
- Jeśli odczytujesz te same dane wielokrotnie, użyj pamięci podręcznej delta.
- Jeśli wykonujesz przyłączenie, rozważ próbę uzyskania pracy DFP .
Wysokie dane wyjściowe
Jeśli widzisz dużo danych wyjściowych ze swojego etapu, oznacza to, że poświęcasz dużo czasu na zapisywanie danych. Poniżej przedstawiono kilka metod rozwiązywania tego problemu:
- Czy tworzysz ponownie dużo danych? Zobacz How to determine if Spark is rewriting data to check (Jak określić, czy platforma Spark ponownie zapisuje dane do sprawdzenia). W przypadku ponownego zapisywania wielu danych:
- Sprawdź, czy masz scalanie, które należy zoptymalizować.
- Użyj wektorów usuwania, aby oznaczyć istniejące wiersze jako usunięte lub zmienione bez ponownego zapisywania pliku Parquet.
- Włącz funkcję Photon , jeśli jeszcze tego nie ma. Photon może pomóc dużo z szybkością zapisu.
Duże mieszanie
Jeśli nie znasz mieszania, nadszedł czas, aby dowiedzieć się.
Brak wysokich operacji we/wy
Jeśli nie widzisz dużej liczby operacji we/wy w żadnej kolumnie, musisz dokładniej zapoznać się z tym tematem. Zobacz Powolny etap platformy Spark z małą ilością operacji we/wy.