• Przejdź do treści
  • Przejdź to drugiego menu
  • Przejdź do głównego paska bocznego
  • Przejdź do stopki
  • START
  • BLOG
  • NEWSLETTER
  • KIM JESTEM
  • KONTAKT
Cegładanych

Cegładanych

Dane - Databricks i Chmura Azura

  • Azure
  • Databricks
  • Spark
  • Etl
  • Engineering
  • AI

Ostra konkurencja dla Databricks🏅

23.11.2024 Krzysztof Nojman

OPTYMALIZACJA 
Jak wiesz optymalizacja jest ważnym elementem pracy z Big Data. Poniżej kilka tipów od czego zacząć.1. Skalowanie partycji:
Domyślna wartość spark.sql.shuffle.partitions (200) nie jest optymalna dla przetwarzania dużych ilości danych (> 20GB). Rekomendacje dotyczące partycji do wymieszania (shuffle): Rozmiar partycji do wymieszania powinien wynosić między 100MB a 200MB.Zmniejsz ilość partycji używając filtr na kolumnie wykorzystanej do partycji Hive – pamiętaj partycja Hive to nie to samo co partycja Spark.Liczba partycji do shuffle powinna być równa rozmiarowi danych wejściowych etapu lub docelowemu rozmiarowi partycji. Jeśli liczba partycji jest mniejsza niż liczba dostępnych rdzeni, ustaw liczbę partycji na równą liczbie rdzeni.
Rozważ dostosowanie wartości spark.sql.files.maxPartitionBytes jeśli chcesz zwiększyć równoległość: W przypadku gdy dane wejściowe zawierają zagnieżdżone pola lub powtarzające się dane. Generujesz dane za pomocą nie wektorowych UDF-ów.
Uważaj na repartition szczególnie w pewnych etapach. Sprawdź czy możesz użyć Coalesce. 2. Joins:Najszybszy BroadcastJoin pamiętaj zajmie dużo pamięci musisz mieć na to miejsce. Skew Joins – możesz dać hint do Sparka i powiadomić go że Dataframe jest krzywa (skewed) i podać klucze, które pomogą w optymalizacji.Uważaj przy groupBy kiedy dane są nierównomiernie rozłożone Możesz dodać randomowe dane żeby pomóc w prawidłowej dystrybucji. Najgorszy BroadcastedNestedLoopJoin – unikaj go jak ognia3. Porady dotyczące kodowania

Unikaj zbędnego ponownego partycjonowania przed operacją groupByKey.Pamiętaj o odpowiednim buforowaniu (persisting) DataFrame’ów i wywołuj unpersist() po zakończeniu buforowania. Pamiętaj persist jest kosztowny.Do zapisu danych użyj wszystkich rdzeni, a nadmierną ilość plików skompresuj wykorzystując Databricks Delta Z-OrderingUważaj na Count() nie rób tego za często i nie nadużywaj na produkcji. Jest podobna alternatywa approcDistinctCount()DropDuplicates użyj przed groupBy or joinUżywaj wektoryzowanych funkcji spark.sql.functions, lub PandasUDFs.

4. Radzenie sobie z nieregularnościami (Skew):

Filtruj niepotrzebne dane tak wcześnie, jak to możliwe.
Wykorzystaj losowe rozczłonkowanie (random shuffling), aby równomiernie rozłożyć dane w partycjach do agregacji i połączeń. repartition() lub repartitionByRange()
Rozważ podzielenie zapytań z nieregularnościami na dwie części, a następnie połączenie wyników dla bardziej zoptymalizowanych strategii połączeń typu broadcast.

5. Konfiguracja klastra:

Nie ma jednej uniwersalnej konfiguracji. Wymaga to procesu iteracyjnego uwzględniającego czynniki takie jak rodzaj maszyn, organizację danych, ilość danych i konkretne zadanie.
Rekomendacje obejmują ustawienie 4-8 rdzeni na executor oraz alokację pamięci w oparciu o dostępną pamięć węzła i liczbę wykonawców na węźle.
Zrozumienie sprzętu i uwzględnienie ilości dostępnej pamięci, dysków, przepustowości sieci.Wykorzystaj Delta.io cache Apache Spark Core—Deep Dive—Proper Optimization Daniel Tomes Databricks

MICROSOFT FABRIC
No i stało się MS wziął się za dane i stworzył coś nowego. Powstał nowy portal dedykowany dla Fabric, jest to zestaw narzędzi do ładowania, transformacji i analizowania danych.  W nowym portalu znajdziesz wiele znanych Ci narzędzi Azure: Data Factory, Notatniki, Synapse Data Science,  Synapse Warehouse. Microsoft zcentralizował wszystkie komponenty potrzebne do stworzenia hurtowni danych w jednym miejscu. Jest to usługa typu SAAS więc mniej zarządzania. Koncepcyjnie jest to jedna usługa, ale pod spodem zintegrowali ADF i Synapse dla większej wygody i standaryzacji pracy.Co zawieraData Factory czyli nowy integrator danych. Zobaczymy czy będzie miał te same bajery.Synapse Data Engineering: Lakehouse, Notatniki, Spark JobsSynapse Data Warehouse: Nowe wydanie Synapse SQL Dedicated PoolsSynapse Data Science: Synapse ML i Azure Machine Learning Synapse Real Time Analytics: Nowe Eventstreams podobne do Azure Stream Analytics Power BI: W pełni zintegrowany z FabricData Activator: Event driven narzędzie do przetwarzanie strumieni danych zintegrowany z Power BI i Event HubsWadyBrak SQL Serverless – nie odczytasz danych z data lake przy użyciu SQL, do tego są tylko notatniki i SparkBrak Mapping Data Flows – nie zostały przeniesione do Fabric, Brak Spark .Net – chyba uznali że nie jest to takie ważne i w Fabric go nie będzie.Zalety Standaryzacja formatu danych, wszystkie dane są w formacie delta. Możliwość łatwego podpięcia się z Power BIDedykowany portal z dostępem do wszystkich narzędzi. Personas: w zależności od tego co robisz bądź jaki masz cel, portal daje ci możliwość personalizacji. W UI zobaczysz narzędzie pod Data Science lub pod Inżynierię Danych. OneLake: Czyli centralne repozytorium danych, idea wzięta z OneDrive, wszystkie dane w jednym formacie w jednym miejscu. Dzięki temu łatwiej nimi zarządzać i mieć dostęp z poziomu różnych aplikacji.Wygląda to jak konkurencja dla Databricks, jeden duży kombajn do wszystkich zadań. Wygląda ciekawie w praktyce wyjdzie czy rzeczywiście będzie to sukces. 
Advancing Fabric – A Quick Microsoft Fabric Tour
A 10 minute Tour Around Microsoft FabricIntro to Microsoft FabricAzure Synapse Analytics versus Microsoft FabricWhat is OneLake?

W kategorii:Newsletter

Big Data ebook
Subskrybuj
Powiadom o
guest

guest

0 Komentarze
Najstarsze
Najnowsze Najwięcej głosów
Opinie w linii
Zobacz wszystkie komentarze

Pierwszy panel boczny

O MNIE

Narzędzia i dobre procesy do przetwarzania danych to podstawa sukcesu i wartości dla firmy. Czytaj więcej…

big data ebook

Ostatnie wpisy

Jak zainstalować Python whl na Serverless

15.02.2026 By Krzysztof Nojman

Jak efektywnie korzystać z Databricks Assistant – 5 sprawdzonych praktyk

16.11.2025 By Krzysztof Nojman

Databricks DQX

Jakość danych w Databricks DQX

28.01.2025 By Krzysztof Nojman

Linki społecznościowe

  • Facebook
  • GitHub
  • LinkedIn
  • YouTube

Wyszukiwanie

Footer

Najnowsze wpisy

  • Databricks Klastry
  • Jak zainstalować Python whl na Serverless
  • Jak efektywnie korzystać z Databricks Assistant – 5 sprawdzonych praktyk
  • Jakość danych w Databricks DQX
  • Jak Spark robi join?
  • Czy JSON to samo zło
  • VS Code nowości AI 

Tagi

AI Apache Spark Architektura Azure BIg Data Certyfikat cloud Databricks Data Factory Dataframe DQX ETL Hurtownia Danych Intellij IoT Jaka technologia Join Kod Konfiguracja lakehouse Narzędzia Optymalizacja pyspark Spark Windows 10 zadania

Informacje Prawne

To jest nudna część lecz wymagana, wszystkie notki prawne o stronie znajdziecie tutaj.

Polityka Prywatności

Regulamin

Copyright © 2026 · Wszelkie prawa zastrzeżone. Krzysztof Nojman

wpDiscuz