Doradca platformy Apache Spark w celu uzyskania porad dotyczących notesów w czasie rzeczywistym
Doradca platformy Apache Spark analizuje polecenia i kod uruchamiany przez platformę Apache Spark i wyświetla porady dotyczące uruchamiania notesu w czasie rzeczywistym. Doradca platformy Apache Spark ma wbudowane wzorce, które ułatwiają użytkownikom unikanie typowych błędów. Oferuje rekomendacje dotyczące optymalizacji kodu, przeprowadzania analizy błędów i lokalizowania głównej przyczyny awarii.
Porady wbudowane
Doradca Platformy Spark, narzędzie zintegrowane z platformą Impulse, udostępnia wbudowane wzorce do wykrywania i rozwiązywania problemów w aplikacjach platformy Apache Spark. W tym artykule wyjaśniono niektóre wzorce zawarte w narzędziu.
Możesz otworzyć okienko Ostatnie uruchomienia na podstawie typu potrzebnych porad.
Może zwracać niespójne wyniki w przypadku używania metody "randomSplit"
Niespójne lub niedokładne wyniki mogą być zwracane podczas pracy z metodą randomSplit . Przed użyciem metody randomSplit() użyj buforowania platformy Apache Spark (RDD).
Metoda randomSplit() jest równoważna wykonywaniu próbki() w ramce danych wiele razy. Gdzie poszczególne próbki pobierają, partycje i sortuje ramkę danych w partycjach. Rozkład danych między partycjami i kolejność sortowania jest ważny zarówno dla randomSplit() i sample(). W przypadku zmiany po ponownym pobraniu danych mogą występować duplikaty lub brakujące wartości w różnych podziałach. A ta sama próbka używająca tego samego nasion może generować różne wyniki.
Te niespójności mogą nie wystąpić w każdym uruchomieniu, ale aby całkowicie je wyeliminować, buforować ramkę danych, ponownie partycjonować kolumny lub stosować funkcje agregujące, takie jak groupBy.
Nazwa tabeli/widoku jest już używana
Widok już istnieje o tej samej nazwie co utworzona tabela lub tabela już istnieje o tej samej nazwie co utworzony widok. Gdy ta nazwa jest używana w zapytaniach lub aplikacjach, tylko widok zostanie zwrócony niezależnie od tego, który został utworzony jako pierwszy. Aby uniknąć konfliktów, zmień nazwę tabeli lub widoku.
Nie można rozpoznać wskazówki
spark.sql("SELECT /*+ unknownHint */ * FROM t1")
Nie można odnaleźć określonych nazw relacyjnych
Nie można odnaleźć relacji określonych w wskazówce. Sprawdź, czy relacje są poprawnie napisane i dostępne w zakresie wskazówki.
spark.sql("SELECT /*+ BROADCAST(unknownTable) */ * FROM t1 INNER JOIN t2 ON t1.str = t2.str")
Wskazówka w zapytaniu uniemożliwia zastosowanie innej wskazówki
Wybrane zapytanie zawiera wskazówkę, która uniemożliwia zastosowanie innej wskazówki.
spark.sql("SELECT /*+ BROADCAST(t1), MERGE(t1, t2) */ * FROM t1 INNER JOIN t2 ON t1.str = t2.str")
Włącz opcję "spark.advise.divisionExprConvertRule.enable", aby zmniejszyć propagację błędów zaokrąglania
To zapytanie zawiera wyrażenie z typem Podwójnym. Zalecamy włączenie konfiguracji "spark.advise.divisionExprvertRule.enable", co może pomóc zmniejszyć liczbę wyrażeń dzielenia i zmniejszyć propagację błędów zaokrąglania.
"t.a/t.b/t.c" convert into "t.a/(t.b * t.c)"
Włącz opcję "spark.advise.nonEqJoinConvertRule.enable", aby zwiększyć wydajność zapytań
To zapytanie zawiera czasochłonne sprzężenie ze względu na warunek "Or" w zapytaniu. Zalecamy włączenie konfiguracji "spark.advise.nonEqJoinConvertRule.enable", co może pomóc przekonwertować sprzężenie wyzwalane przez warunek "Or" na SMJ lub BHJ, aby przyspieszyć to zapytanie.
Środowisko użytkownika
Doradca platformy Apache Spark wyświetla porady, w tym informacje, ostrzeżenia i błędy w danych wyjściowych komórki notesu w czasie rzeczywistym.
Informacji
Ostrzeżenie
Błąd
Ustawienie doradcy platformy Spark
Ustawienie doradcy platformy Spark umożliwia wybranie, czy pokazać, czy ukryć określone typy porad platformy Spark zgodnie z potrzebami. Ponadto masz elastyczność włączania lub wyłączania usługi Spark Advisor dla notesów w obszarze roboczym na podstawie preferencji.
Możesz uzyskać dostęp do ustawień usługi Spark Advisor na poziomie notesu sieci szkieletowej, aby cieszyć się korzyściami i zapewnić wydajne środowisko tworzenia notesów.