Zalecenia dotyczące konfiguracji obliczeniowej
Ten artykuł zawiera zalecenia i najlepsze rozwiązania związane z konfiguracją obliczeń.
Firma Databricks zaleca używanie zasobów obliczeniowych w architekturze bezserwerowej, jeśli obciążenie jest obsługiwane, 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 DLT. Zobacz Połącz się z bezserwerową chmurą obliczeniową.
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 wykonawcy: typ i ilość przestrzeni na dysku lokalnym. Dysk lokalny jest używany głównie w przypadku przepełnień podczas operacji mieszania danych i buforowania.
Dodatkowe zagadnienia obejmują typ i rozmiar instancji roboczej, co również wpływa 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 robocze?
- 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ń.
Zachodzi równowaga między liczbą pracowników a rozmiarem typów instancji pracowników. 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, których należy unikać, oraz wyjaśnienia, 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 pracą nie jest obsługiwane na środowisko bezserwerowe, skorzystaj z poniższych zaleceń, aby skonfigurować zasoby obliczeniowe.
Analiza danych
Analitycy danych zwykle wykonują przetwarzanie wymagające danych z wielu partycji, co prowadzi do wielu operacji mieszania. Zasób obliczeniowy z mniejszą liczbą większych węzłów może zmniejszyć zapotrzebowanie na operacje we/wy sieci i dysku potrzebne do wykonania tych przetasowań.
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 przechowywania z włączoną pamięcią podręczną dysku lub instancjami 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 pracowników.
Złożony proces wsadowy ETL
W przypadku złożonego zadania ETL, takiego jak to, które wymaga łączeń i połączeń w wielu tabelach, usługa Databricks zaleca użycie mniejszej liczby pracowników w celu zmniejszenia ilości przetasowanych danych. Aby zrekompensować mniejszą liczbę pracowników, zwiększ rozmiar swoich wystąpień.
Złożone przekształcenia mogą być intensywnie obciążane obliczeniami. Jeśli zauważysz znaczne przechodzenie na dysk lub błędy OOM, zwiększ ilość pamięci dostępnej w swoich instancjach.
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 polityki Personal compute.
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 pracowników może pomóc w stabilności, ale należy unikać dodawania zbyt wielu pracowników ze względu na obciążenie związane z przeładunkiem danych.
Zalecane typy instancji roboczych to instancje zoptymalizowane pod kątem pamięci masowej z włączonym buforowaniem dysku lub z lokalną pamięcią, aby obsłużyć powtarzające się operacje odczytu tych samych danych i umożliwić buforowanie 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.