Udostępnij za pośrednictwem


Zalecenia dotyczące konfiguracji obliczeniowej

Ten artykuł zawiera zalecenia i najlepsze rozwiązania związane z konfiguracją obliczeń.

Jeśli obciążenie jest obsługiwane, usługa Databricks zaleca używanie bezserwerowych zasobów obliczeniowych zamiast konfigurowania własnego zasobu obliczeniowego. Obliczenia bezserwerowe to najprostsza i najbardziej niezawodna opcja obliczeniowa. Nie wymaga konfiguracji, jest zawsze dostępna i jest skalowana zgodnie z obciążeniem. Zasoby obliczeniowe bezserwerowe są dostępne dla notesów, zadań i tabel delta live. Zobacz Connect to serverless compute (Nawiązywanie połączenia z bezserwerową obliczeniami).

Ponadto analitycy danych mogą używać bezserwerowych magazynów SQL do wykonywania zapytań i eksplorowania danych w usłudze Databricks. Zobacz Co to są bezserwerowe magazyny SQL?

Korzystanie z zasad obliczeniowych

Jeśli tworzysz nowe obliczenia od podstaw, usługa Databricks zaleca korzystanie z zasad obliczeniowych. Zasady obliczeniowe umożliwiają tworzenie wstępnie skonfigurowanych zasobów obliczeniowych przeznaczonych do określonych celów, takich jak obliczenia osobiste, współdzielone zasoby obliczeniowe, użytkownicy zasilania i zadania. Zasady ograniczają decyzje, które należy podjąć podczas konfigurowania ustawień obliczeniowych.

Jeśli nie masz dostępu do zasad, skontaktuj się z administratorem obszaru roboczego. Zobacz Domyślne zasady i rodziny zasad.

Zagadnienia dotyczące ustalania rozmiaru zasobów obliczeniowych

Uwaga

Poniższe zalecenia zakładają, że masz nieograniczone tworzenie klastra. Administratorzy obszaru roboczego powinni przyznać to uprawnienie tylko użytkownikom zaawansowanym.

Ludzie często myślą o rozmiarze obliczeniowym pod względem liczby pracowników, ale istnieją inne ważne czynniki, które należy wziąć pod uwagę:

  • Łączna liczba rdzeni funkcji wykonawczej (obliczenia): całkowita liczba rdzeni we wszystkich funkcjach wykonawczych. Określa to maksymalną równoległość obliczeń.
  • Łączna ilość pamięci wykonawczej: łączna ilość pamięci RAM we wszystkich funkcjach wykonawczych. Określa to, ile danych można przechowywać w pamięci przed rozlaniem ich na dysk.
  • Magazyn lokalny funkcji wykonawczej: typ i ilość magazynu na dysku lokalnym. Dysk lokalny jest używany głównie w przypadku rozlewów podczas mieszania i buforowania.

Dodatkowe zagadnienia obejmują typ i rozmiar wystąpienia procesu roboczego, co wpływa również na powyższe czynniki. Podczas określania rozmiaru zasobów obliczeniowych należy wziąć pod uwagę następujące kwestie:

  • Ile danych będzie zużywać obciążenie?
  • Jaka jest złożoność obliczeniowa obciążenia?
  • Skąd odczytujesz dane?
  • W jaki sposób dane są partycjonowane w magazynie zewnętrznym?
  • Ile równoległości potrzebujesz?

Udzielenie odpowiedzi na te pytania ułatwi określenie optymalnych konfiguracji obliczeniowych na podstawie obciążeń.

Istnieje równoważenie między liczbą procesów roboczych a rozmiarem typów wystąpień procesu roboczego. Konfigurowanie obliczeń przy użyciu dwóch procesów roboczych, z których każdy ma 16 rdzeni i 128 GB pamięci RAM, ma tę samą pamięć obliczeniową i pamięć, co konfigurowanie obliczeń z 8 procesami roboczymi, z których każdy ma 4 rdzenie i 32 GB pamięci RAM.

Przykłady konfiguracji obliczeniowej

W poniższych przykładach przedstawiono zalecenia dotyczące obliczeń na podstawie określonych typów obciążeń. Te przykłady obejmują również konfiguracje, aby uniknąć i dlaczego te konfiguracje nie są odpowiednie dla typów obciążeń.

Uwaga

Wszystkie przykłady w tej sekcji (oprócz trenowania uczenia maszynowego) mogą korzystać z bezserwerowych zasobów obliczeniowych zamiast uruchamiania nowego zasobu obliczeniowego. Jeśli obciążenie nie jest obsługiwane bezserwerowe, skorzystaj z poniższych zaleceń, aby ułatwić skonfigurowanie zasobu obliczeniowego.

Analiza danych

Analitycy danych zwykle wykonują przetwarzanie wymagające danych z wielu partycji, co prowadzi do wielu operacji mieszania. Zasób obliczeniowy o mniejszej liczbie większych węzłów może zmniejszyć liczbę operacji we/wy dysku potrzebnych do wykonania tych mieszania.

Obliczenia z jednym węzłem z dużym typem maszyny wirtualnej są prawdopodobnie najlepszym wyborem, szczególnie w przypadku pojedynczego analityka.

Obciążenia analityczne prawdopodobnie będą wymagać wielokrotnego odczytywania tych samych danych, dlatego zalecane typy węzłów są zoptymalizowane pod kątem magazynu z włączoną pamięcią podręczną dysku lub wystąpieniami z magazynem lokalnym.

Dodatkowe funkcje zalecane w przypadku obciążeń analitycznych obejmują:

  • Włącz automatyczne kończenie, aby upewnić się, że obliczenia są przerywane po okresie braku aktywności.
  • Rozważ włączenie skalowania automatycznego na podstawie typowego obciążenia analityka.

Podstawowa partia ETL

Proste zadania ETL wsadowe, które nie wymagają szerokich przekształceń, takich jak sprzężenia lub agregacje, zwykle korzystają z rozwiązania Photon. Dlatego wybierz wystąpienie ogólnego przeznaczenia, które obsługuje funkcję Photon.

Wystąpienia o niższych wymaganiach dotyczących pamięci i magazynu mogą powodować oszczędności kosztów w przypadku innych typów procesów roboczych.

Złożony proces ETL partii

W przypadku złożonego zadania ETL, takiego jak jedno, które wymaga związków zawodowych i sprzężeń w wielu tabelach, usługa Databricks zaleca użycie mniejszej liczby procesów roboczych w celu zmniejszenia ilości danych przetasowanych. Aby zrekompensować mniejszą liczbę procesów roboczych, zwiększ rozmiar wystąpień.

Złożone przekształcenia mogą być intensywnie obciążane obliczeniami. Jeśli zauważysz znaczne rozlanie na dysk lub błędy OOM, zwiększ ilość pamięci dostępnej w wystąpieniach.

Opcjonalnie użyj pul, aby skrócić czas uruchamiania zasobów obliczeniowych i zmniejszyć łączne środowisko uruchomieniowe podczas uruchamiania potoków zadań.

Trenowanie modeli uczenia maszynowego

Aby wytrenować modele uczenia maszynowego, usługa Databricks zaleca utworzenie zasobu obliczeniowego przy użyciu zasad osobistych obliczeń .

Należy użyć pojedynczego węzła obliczeniowego z dużym typem węzła na potrzeby początkowego eksperymentowania z trenowaniem modeli uczenia maszynowego. Zmniejszenie liczby węzłów zmniejsza wpływ mieszania.

Dodanie większej liczby procesów roboczych może pomóc w stabilności, ale należy unikać dodawania zbyt wielu procesów roboczych ze względu na obciążenie związane z mieszania danych.

Zalecane typy procesów roboczych są zoptymalizowane pod kątem magazynu z włączoną buforowaniem dysku lub wystąpieniem z magazynem lokalnym do uwzględnienia powtarzających się operacji odczytu tych samych danych i włączenia buforowania danych treningowych.

Dodatkowe funkcje zalecane w przypadku obciążeń uczenia maszynowego obejmują:

  • Włącz automatyczne kończenie, aby upewnić się, że obliczenia są przerywane po okresie braku aktywności.
  • Użyj pul, które umożliwią ograniczenie zasobów obliczeniowych do wstępnie zatwierdzonego typu wystąpienia.
  • Zapewnij spójne konfiguracje obliczeniowe przy użyciu zasad.