Udostępnij za pośrednictwem


Wysokie we/wy na etapie platformy Spark

Następnie ponownie przyjrzyj się statystykom operacji we/wy najdłuższego etapu:

Długie we/wy 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:

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.