0 / 0
Go back to the English version of the documentation
Zarządzanie wydajnością zadań
Last updated: 28 kwi 2023
Zarządzanie wydajnością zadań

Przepływy maskujące, które kopiują i maskują dane, mogą być implementowane przy użyciu Spark. Jednak Spark ma różne cechy i ograniczenia, które mają wpływ na wydajność pracy maskowania i mogą skutkować awariami zadań.

Zarządzanie awariami zadań

Podczas maskowania przepływu pracy Spark może próbować odczytać wszystkie źródła danych do pamięci. W związku z tym zadania przepływu maskowania mogą wystąpić z błędami z powodu braku pamięci. Największa ilość danych, które mogą zmieścić się w największym wdrożonym węźle przetwarzania Spark, wynosi około 12GBs. Aby przepływ maskujący mógł kopiować i maskować więcej niż ten wolumin danych, mechanizm Spark musi być w stanie podzielić dane na mniejsze porcje. Spark może następnie przetwarzać każdą porcję oddzielnie i równolegle z innymi porcjami.

Istnieją pewne źródła danych, takie jak pliki Parkiet, w których Spark może automatycznie podzielić dane. Jednak żadne z tych źródeł danych nie jest obsługiwane przez przepływy maskujące teraz.

Alternatywnym rozwiązaniem jest określenie kolumny indeksu podczas tworzenia przepływu maskowania w celu umożliwienia Spark partycjonowania danych.   W przypadku aktualnie obsługiwanych relacyjnych źródeł danych pierwszym krokiem jest znalezienie lub utworzenie kolumny indeksowej, która dzieli dane na mniej więcej równe części.  Następnym krokiem jest podanie nazwy kolumny w indeksie, tak aby Spark mógł utworzyć zapytanie, które będzie używało indeksu. Przepływ maskujący automatycznie wykryje i udostępni inne dane, które są wymagane przez Spark: minimalne i maksymalne wartości kolumny oraz liczbę partycji danych, które mają być używane.

Sprawdzone procedury

Aby uzyskać najlepsze wyniki, dane w kolumnie partycjonowania muszą być rozłożone równomiernie. Celem kolumny partycji jest umożliwienie Spark podzielenia danych na znaczące części w celu przetworzenia. Na przykład, jeśli dane są podzielone na 10 TB podzielonej przez 50 porcji, każda porcja nadal wynosi 0.2 TB. Im większa liczba wiadra, tym szybciej przetwarzanie.

Wybierz kolumnę partycji, w której wartości są równomiernie rozłożone w dużym zakresie. Kolumny identyfikatora są często dobrymi wyborami. Na przykład w tabeli Klienci znajduje się kolumna Customer_ID zawierająca unikalne identyfikatory produktu 1.5 M. Kolumna stanu nie jest dobrym przykładem, ponieważ istnieje tylko 50 unikalnych wartości.

Dowiedz się więcej

Temat nadrzędny: Uruchamianie zadań przepływu maskowania

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more