Blog JSystems - uwalniamy wiedzę!

Szukaj
Microsoft Fabric i Databricks obok siebie: raport Power BI i pulpit AI/BI na tych samych danych sprzedaży
Ten sam zbiór danych sieci Nordvella w dwóch platformach: po lewej raport Power BI w Microsoft Fabric, po prawej pulpit AI/BI w Databricks.

W skrócieMicrosoft Fabric i Databricks to platformy typu lakehouse, które przechowują dane w otwartym formacie Delta Lake, ale różnią się modelem usługi i rozliczeń. Fabric to usługa SaaS z jedną pojemnością na wszystkie obciążenia i wbudowanym Power BI. Databricks to platforma dla zespołów danych i ML, rozliczana za czas pracy obliczeń.

Zamiast porównywać listy funkcji, wzięliśmy jeden zbiór danych fikcyjnej sieci sklepów Nordvella i przeprowadziliśmy go przez obie platformy krok po kroku. Te same pliki CSV trafiły do tabel, to samo zapytanie SQL i ten sam notatnik PySpark dały te same liczby, a potem zaplanowaliśmy przeliczenie, zbudowaliśmy raport i zadaliśmy pytanie asystentowi AI. Dzięki temu zobaczysz nie tylko, co potrafi każda z platform, ale też jak wygląda w niej codzienna praca i w których miejscach łatwo się potknąć.

Pliki do pobrania

Pobierz ten sam zestaw danych i kod, na których pracujemy w artykule, i powtórz porównanie u siebie. Obie platformy dają się wypróbować bez opłat: Fabric w 60-dniowej wersji próbnej, Databricks w darmowej edycji Free Edition.

Pobierz nordvella_csv.zip (4 pliki CSV) Pobierz zapytanie_region_2025.sql Pobierz notatnik_fabric.py Pobierz notatnik_databricks.py Pobierz relacje_direct_lake.tmdl

Jak zbudowane są Microsoft Fabric i Databricks

Co chcemy osiągnąć. Zanim zaczniemy klikać, ustalmy, czym te platformy się różnią u podstaw. Od tego zależy, jak zespół pracuje na co dzień, kto płaci za obliczenia i gdzie leżą dane firmy.

Obie platformy realizują ten sam pomysł: lakehouse, czyli połączenie jeziora danych z hurtownią. Dane leżą w tanim magazynie plików, ale zapisane są jako tabele z transakcjami i schematem, tak jak w bazie danych. Format tych tabel to w obu przypadkach Delta Lake: pliki Parquet (kolumnowy format danych) z dziennikiem transakcji, który pozwala bezpiecznie dopisywać, poprawiać i cofać zmiany. Delta Lake powstał w Databricks i jest projektem open source, a Microsoft użył tego samego formatu w Fabric. Dlatego tabela zapisana w jednej platformie jest czytelna dla drugiej.

Różnica leży w tym, jak każda z platform tę ideę opakowuje:

  • Microsoft Fabric to usługa SaaS (oprogramowanie dostarczane jako usługa): nie konfigurujesz serwerów ani klastrów, tylko tworzysz obszar roboczy i dodajesz do niego elementy, takie jak lakehouse, magazyn danych, notes, potok czy raport Power BI. Wszystkie dane trafiają do OneLake, jednego magazynu dla całej organizacji. Za obliczenia płacisz w formie pojemności, czyli stałej mocy mierzonej w jednostkach CU (capacity unit), którą dzielą wszystkie obciążenia.
  • Databricks to platforma danych i AI uruchamiana w chmurze AWS, Azure albo Google Cloud. Dane leżą w magazynie obiektów chmury, a porządkuje je Unity Catalog: katalog z trzema poziomami nazw (katalog, schemat, tabela), uprawnieniami i pochodzeniem danych. Obliczenia uruchamiasz jako klastry Spark, obliczenia serverless (bez zarządzania maszynami) albo hurtownie SQL i płacisz za czas ich pracy w jednostkach DBU (Databricks Unit).
Infografika: architektura Microsoft Fabric i Databricks, magazyn, obciążenia, bezpieczeństwo i model rozliczeń obok siebie
Architektura obu platform obok siebie: Fabric jako jedna usługa z pojemnością na wszystkie obciążenia, Databricks jako platforma z katalogiem Unity Catalog i obliczeniami rozliczanymi w DBU.

Najlepiej widać to w oknie, od którego w Fabric zaczyna się każda praca. Przycisk Nowy element w obszarze roboczym otwiera galerię wszystkich obciążeń: od pobierania danych przez notesy i potoki po magazyny danych i raporty. W Databricks podobną rolę pełni przycisk New w lewym górnym rogu: tworzysz nim notatniki, zapytania, pulpity, agentów Genie, joby i potoki ETL. Lewe menu dzieli z kolei narzędzia na sekcje SQL, Data Engineering i AI/ML.

Okno Nowy element w Microsoft Fabric z kategoriami Pobierz dane i Dublowanie danych, w tym notes, potok i Eventstream
Galeria Nowy element w Fabric: notesy Spark, potoki, przepływy danych Gen2, Eventstream i dublowanie baz danych w jednym miejscu.

Jeśli dopiero poznajesz silnik, na którym obie platformy liczą dane, zajrzyj do naszego przewodnika po Apache Spark dla początkujących. Platformę Microsoftu omawiamy od podstaw w artykule Co to jest Microsoft Fabric. Databricks opisujemy osobno w przewodniku po platformie lakehouse Databricks. Pojęcia, od których zaczyna się ten temat, takie jak jezioro danych, hurtownia i lakehouse, objaśniamy w artykule Co to jest big data? Pojęcia, krajobraz technologiczny i platformy.

Scenariusz testu: ta sama sieć sklepów w obu platformach

Co chcemy osiągnąć. Kontroling fikcyjnej sieci elektromarketów Nordvella pyta o dwie rzeczy: ile wyniosła sprzedaż netto w każdym regionie w 2025 roku i jak zmieniała się sprzedaż miesiąc po miesiącu. Na końcu w każdej platformie ma powstać ten sam zestaw: tabele z danymi, wynik zapytania SQL, tabela miesięczna przeliczana według harmonogramu, raport dla zarządu i odpowiedź asystenta AI na pytanie zadane po polsku.

Dane pochodzą z naszego bezpłatnego kursu Power BI na danych sieci Nordvella. Na potrzeby porównania zapisaliśmy je jako cztery pliki CSV:

  • sprzedaz.csv: 108 675 transakcji od stycznia 2022 do maja 2026 roku z wartością netto, marżą, kanałem sprzedaży i znacznikiem zwrotu CzyZwrot,
  • sklepy.csv: 15 sklepów w sześciu regionach, w tym sklep internetowy jako region Online,
  • produkty.csv: 30 produktów fikcyjnych marek, od laptopów po drobne akcesoria,
  • kalendarz.csv: 1826 dni z latami, miesiącami i kwartałami do łączenia z datami transakcji.
Animacja: siedem kroków tego samego projektu w Microsoft Fabric i Databricks, od plików CSV po pytanie do AI
Siedem kroków testu i ich odpowiedniki w obu platformach. Ostatnia klatka pokazuje wynik wspólny dla Fabric i Databricks.

Po stronie Fabric pracowaliśmy na pojemności próbnej, po stronie Databricks na darmowej edycji Free Edition, którą zakładasz kontem Google, Microsoft albo adresem e-mail na stronie Databricks Free Edition. Oba środowiska mają limity, o których piszemy przy kolejnych krokach, ale do nauki i do takiego porównania wystarczają w zupełności.

Krok 1. Obszar roboczy i miejsce na dane

Co chcemy osiągnąć. Przygotować miejsce na tabele Nordvelli: w Fabric obszar roboczy na pojemności i lakehouse, a w Databricks schemat w katalogu Unity Catalog.

Fabric: obszar roboczy na pojemności próbnej i lakehouse

  1. W lewym menu Fabric kliknij Obszary robocze, a potem Nowy obszar roboczy.
  2. Wpisz nazwę, u nas Fabric vs Databricks, i przewiń panel do listy typów obszaru roboczego.
  3. W grupie Typy obszarów roboczych platformy Fabric i usługi Power BI zaznacz Wersja próbna platformy Fabric. W polu Szczegóły pojawi się nazwa pojemności próbnej i jej region.
  4. Kliknij Zastosuj.
Panel Utwórz obszar roboczy w Fabric z zaznaczonym typem Wersja próbna platformy Fabric i pojemnością w regionie Poland Central
Typ obszaru roboczego decyduje, z jakiej pojemności korzystają jego elementy. Opis wersji próbnej mówi o 60 dniach i o funkcjach, których w niej nie ma, w tym o Copilocie.

W nowym obszarze kliknij Nowy element, wyszukaj Lakehouse i nadaj mu nazwę nordvella_lh. Pole Schematy usługi Lakehouse zostaw zaznaczone i kliknij Utwórz. Tabele trafią wtedy do schematu dbo, co ułatwia porządek przy większej liczbie tabel.

Okno Nowy Lakehouse w Fabric z nazwą nordvella_lh, lokalizacją Fabric vs Databricks i zaznaczonymi schematami
Nowy lakehouse powstaje w kilka sekund, a razem z nim punkt końcowy analizy SQL do zapytań w T-SQL.

Databricks: schemat w Unity Catalog

  1. Po zalogowaniu do Free Edition kliknij w lewym menu Catalog i wybierz katalog workspace.
  2. Kliknij Create schema w prawym górnym rogu.
  3. Wpisz nazwę schematu, u nas nordvella_fvd, i opcjonalny komentarz. Pole Storage location zostaw puste, wtedy tabele zarządzane trafią do domyślnej lokalizacji magazynu.
  4. Kliknij Create.
Okno Create a new schema w Databricks z nazwą nordvella_fvd i opisem trzypoziomowej przestrzeni nazw Unity Catalog
Okno tworzenia schematu przypomina, że schemat to drugi poziom nazw Unity Catalog: katalog, schemat, tabela.

Już tu widać pierwszą różnicę w adresowaniu danych. W Fabric tabela ma adres nordvella_lh.dbo.sprzedaz (lakehouse, schemat, tabela), a w Databricks workspace.nordvella_fvd.sprzedaz (katalog, schemat, tabela). Wrócimy do tego przy notatniku.

Krok 2. Pliki CSV w tabelach Delta

Co chcemy osiągnąć. Zamienić cztery pliki CSV w tabele Delta, na których będą pracować zapytania, notatniki i raporty. Obie platformy robią to bez pisania kodu.

Fabric: przekazanie plików i Załaduj do tabel

  1. W lakehouse nordvella_lh rozwiń menu Pobierz dane i wybierz Przekazywanie plików.
  2. Kliknij ikonę folderu, zaznacz cztery pliki CSV i kliknij Przekaż. Pliki trafią do folderu Files.
Panel Przekazywanie plików w lakehouse Fabric z wybranymi plikami sprzedaz.csv, sklepy.csv, produkty.csv i kalendarz.csv
Pliki trafiają najpierw do części Files lakehouse, jeszcze jako zwykłe pliki CSV.
  1. W folderze Files kliknij wielokropek obok pliku, wybierz Załaduj do tabel, a potem Nowa tabela.
  2. Sprawdź schemat dbo, nazwę tabeli, zaznaczone pole Użyj nagłówka dla nazw kolumn i separator przecinek. Kliknij Załaduj.
  3. Powtórz to dla pozostałych trzech plików.
Okno Załaduj plik do nowej tabeli w Fabric: schemat dbo, nazwa tabeli sprzedaz, nagłówek kolumn i separator przecinek
Fabric sam rozpoznaje typy kolumn i zapisuje plik jako tabelę Delta w części Tables.
Lakehouse nordvella_lh w Fabric z czterema tabelami Delta w schemacie dbo i podglądem tabeli sprzedaz
Po załadowaniu w Eksploratorze widać cztery tabele w schemacie dbo, a podgląd pokazuje pierwsze wiersze tabeli sprzedaz.

Pułapka, na którą trafiliśmy: Załaduj do tabel uruchamia w tle sesję Spark. Po zakończeniu ładowania ta sesja jeszcze przez kilka minut widniała w Monitorze jako operacja lakehouse w toku i zajmowała pojemność. Na pojemności próbnej kolejny notes dostał przez to odmowę uruchomienia (komunikat pokazujemy w części o kosztach). Jeśli po ładowaniu chcesz od razu liczyć coś w Sparku, otwórz Monitoruj, najedź na operację z nazwą lakehouse, kliknij Anuluj i potwierdź Tak, zatrzymaj.

Databricks: Create or modify table

  1. Wejdź do schematu nordvella_fvd w Catalog, kliknij Create i wybierz Table.
  2. Upuść plik sprzedaz.csv na stronę albo kliknij browse.
  3. Sprawdź podgląd: Databricks pokazuje typy kolumn rozpoznane z pliku i pierwsze 50 wierszy.
  4. Upewnij się, że pola Catalog i Schema wskazują workspace i nordvella_fvd, a Table name ma wartość sprzedaz. Kliknij Create table.
Create or modify table w Databricks: podgląd pliku sprzedaz.csv z typami kolumn i schematem docelowym nordvella_fvd
Podgląd pliku z rozpoznanymi typami kolumn: liczby całkowite jako bigint, kwoty jako double.

Pułapka, na którą trafiliśmy: gdy otworzysz to samo okno z menu New, a nie ze strony schematu, pole Schema podpowiada schemat default. Trzy nasze tabele wylądowały tam, zanim to zauważyliśmy. Przenieśliśmy je jednym zapytaniem CREATE OR REPLACE TABLE ... AS SELECT, ale prościej jest sprawdzić to pole przed kliknięciem Create table.

Tabela sprzedaz w Catalog Explorer w Databricks: lista kolumn z typami, typ Managed, format Delta i proponowany opis tabeli
Gotowa tabela w Catalog Explorer. Ramka AI Suggested Description to opis tabeli zaproponowany przez Databricks, który akceptujesz albo poprawiasz.

W obu platformach typy kolumn rozpoznały się podobnie, z jedną ciekawostką: kolumnę RokMiesiac z wartościami w rodzaju 2022-01 Fabric zapisał jako znacznik czasu, a Databricks jako datę. W zapytaniach poniżej to nie przeszkadza, ale przy własnych danych warto przejrzeć typy po załadowaniu.

Krok 3. To samo zapytanie SQL, ten sam wynik

Co chcemy osiągnąć. Odpowiedzieć kontrolingowi, ile wyniosła sprzedaż netto i marża w każdym regionie w 2025 roku, bez transakcji zwróconych. To jedno zapytanie z dwoma złączeniami, które uruchomimy bez żadnych zmian w obu platformach.

-- Sprzedaż netto Nordvelli według regionu w 2025 roku (bez transakcji zwróconych)
SELECT sk.Region,
       ROUND(SUM(s.WartoscNetto), 2) AS SprzedazNetto,
       ROUND(SUM(s.MarzaNetto), 2)   AS Marza,
       COUNT(*)                      AS Transakcje
FROM sprzedaz s
JOIN sklepy sk   ON sk.SklepID = s.SklepID
JOIN kalendarz k ON k.DataID   = s.DataID
WHERE k.Rok = 2025
  AND s.CzyZwrot = 0
GROUP BY sk.Region
ORDER BY SprzedazNetto DESC;

Fabric: punkt końcowy analizy SQL

Każdy lakehouse dostaje automatycznie punkt końcowy analizy SQL, czyli dostęp do tabel w języku T-SQL (dialekcie SQL z Microsoft SQL Server) w trybie tylko do odczytu. Otwórz go w obszarze roboczym (element nordvella_lh typu Punkt końcowy usługi SQL Analytics), kliknij Nowe zapytanie SQL, wklej zapytanie i kliknij Uruchom.

Zapytanie SQL w punkcie końcowym analizy SQL w Fabric i wynik: sprzedaż netto, marża i liczba transakcji w sześciu regionach
Wynik w Fabric: sześć regionów, na czele Online z 37 120 708,19 zł sprzedaży netto.

Databricks: SQL Editor i hurtownia SQL

W Databricks zapytania SQL wykonuje hurtownia SQL (SQL warehouse), osobny rodzaj obliczeń zoptymalizowany pod SQL. W Free Edition jest jedna, Serverless Starter Warehouse. Kliknij SQL Editor, w selektorze nad edytorem wybierz katalog workspace i schemat nordvella_fvd, wklej zapytanie i kliknij Run all.

To samo zapytanie SQL w SQL Editor w Databricks z wynikiem dla sześciu regionów
Wynik w Databricks jest identyczny co do grosza. Zapytanie wykonała hurtownia SQL w najmniejszym rozmiarze, 2X-Small (2XS).
RegionSprzedaż netto 2025 (zł)Marża (zł)Transakcje
Online37 120 708,195 128 244,138 664
Centrum26 782 722,024 651 731,146 213
Południe21 747 580,093 921 624,215 143
Zachód18 204 241,143 179 198,114 208
Północ12 161 817,282 176 568,602 800
Wschód7 681 135,321 230 346,351 757

Wyniki zgadzają się z obliczeniem kontrolnym, które zrobiliśmy na plikach CSV poza obiema platformami. Zapytanie trwało w Fabric ok. 8 s, a w Databricks ok. 2 s, ale to nie jest benchmark: Fabric liczył na współdzielonej pojemności próbnej, Databricks na najmniejszej hurtowni serverless. Pamiętaj też o dialektach: Fabric mówi T-SQL (na przykład TOP 10), a Databricks SQL zgodny z ANSI i Spark SQL (na przykład LIMIT 10). Nasze zapytanie korzysta z części wspólnej, więc działa w obu miejscach bez zmian.

Krok 4. Notatnik PySpark: jeden kod, inny prefiks tabel

Co chcemy osiągnąć. Zbudować tabelę sprzedaz_miesieczna z sumą sprzedaży, marży i liczbą transakcji w każdym miesiącu. To warstwa gotowa do raportów, którą potem przeliczymy według harmonogramu. Kod w PySparku (Pythonie dla Apache Spark) jest w obu platformach ten sam, różni się tylko jedna linia z prefiksem nazw tabel.

from pyspark.sql import functions as F

# Fabric: lakehouse.schemat, Databricks: katalog.schemat
PREFIKS = "nordvella_lh.dbo"

sprzedaz = spark.read.table(f"{PREFIKS}.sprzedaz")
kalendarz = spark.read.table(f"{PREFIKS}.kalendarz")

miesiecznie = (
    sprzedaz.filter(F.col("CzyZwrot") == 0)
    .join(kalendarz.select("DataID", "Rok", "Miesiac", "RokMiesiac"), "DataID")
    .groupBy("Rok", "Miesiac", "RokMiesiac")
    .agg(
        F.round(F.sum("WartoscNetto"), 2).alias("SprzedazNetto"),
        F.round(F.sum("MarzaNetto"), 2).alias("Marza"),
        F.count("*").alias("Transakcje"),
    )
    .orderBy("Rok", "Miesiac")
)

miesiecznie.write.mode("overwrite").saveAsTable(f"{PREFIKS}.sprzedaz_miesieczna")
display(miesiecznie)

Co robi ten kod: czyta dwie tabele, odrzuca transakcje zwrócone, dołącza z kalendarza rok i miesiąc, grupuje po miesiącach, liczy sumy, zapisuje wynik jako nową tabelę Delta i pokazuje go funkcją display(), która w obu platformach daje tabelę z możliwością przełączenia na wykres. W Databricks zmieniasz tylko linię PREFIKS = "workspace.nordvella_fvd" (plik notatnik_databricks.py w paczce do pobrania).

Fabric: notes z domyślnym lakehouse

Notes w Fabric potrzebuje domyślnego lakehouse, który wyznacza kontekst nazw tabel. Najprostsza droga: otwórz lakehouse, kliknij Analizuj dane za pomocą, wybierz Notebook, a potem Nowy notes albo Istniejący notes. Lakehouse zostanie dołączony i przypięty jako domyślny, co poznasz po ikonie pinezki w Eksploratorze notesu.

Pułapka, na którą trafiliśmy: dodaliśmy najpierw dane przyciskiem Dodaj elementy danych z katalogu OneLake i wybraliśmy przez pomyłkę punkt końcowy SQL zamiast samego lakehouse. Komórka zakończyła się błędem No default context found, please attach a lakehouse before running spark sql queries with partial namespaces, także przy nazwach z prefiksem lakehouse i schematu. Pomogło dołączenie lakehouse z jego strony i zatrzymanie sesji przyciskiem Zatrzymaj sesję, bo nowy domyślny lakehouse działa dopiero w nowej sesji.

Komórka notesu w Fabric z błędem UnsupportedOperationException No default context found przy braku domyślnego lakehouse
Pierwsza wersja komórki, z krótkimi nazwami tabel, i błąd zgłaszany, gdy notes nie ma domyślnego lakehouse.

Po poprawce sesja wystartowała w 8 s, a cała komórka wykonała się w 18 s. Z wyniku przełączyliśmy widok na Nowy wykres i wybraliśmy z podpowiedzi wykres liniowy sprzedaży netto według miesięcy.

Notes PySpark w Fabric z zapisem tabeli sprzedaz_miesieczna i wykresem liniowym sprzedaży netto według miesięcy 2022-2026
Wynik notesu w Fabric: wykres liniowy z wyraźnymi szczytami sprzedaży pod koniec każdego roku.

Databricks: notatnik na obliczeniach serverless

W Databricks kliknij New, potem Notebook, wklej kod z prefiksem workspace.nordvella_fvd i uruchom komórkę. Notatnik sam podłącza się do obliczeń Serverless, więc nie zakładasz klastra. U nas komórka wykonała się w 13 s. Wykres dodasz przyciskiem + obok zakładki Table: wybierz Visualization, typ Line, w polu X column kolumnę RokMiesiac, a w Y columns kolumnę SprzedazNetto.

Notatnik PySpark w Databricks z tym samym kodem i wykresem liniowym sprzedaży netto według miesięcy w zakładce Visualization 1
Ten sam wynik w Databricks: 53 miesiące, identyczny kształt krzywej i te same kwoty co w Fabric.

Obie platformy zapisały tabelę z 53 wierszami, a pierwszy miesiąc, styczeń 2022 roku, ma w obu 7 074 654,61 zł sprzedaży netto. Ten sam kod Spark przenosi się między platformami praktycznie bez zmian, co obniża koszt ewentualnej migracji w każdą stronę.

Krok 5. Harmonogram: potok w Fabric i job w Databricks

Co chcemy osiągnąć. Sprawić, żeby tabela miesięczna przeliczała się sama, na przykład codziennie o 6:00, zanim kontroling otworzy raport. W Fabric służy do tego potok (pipeline) z aktywnością notesu, w Databricks job z zadaniem typu Notebook.

Fabric: potok z aktywnością Notes

  1. W obszarze roboczym kliknij Nowy element, wybierz Potok i nadaj mu nazwę, u nas nordvella_potok_miesieczny.
  2. Na pasku narzędzi kliknij Notes. Na kanwie pojawi się aktywność notesu.
  3. Na karcie Ogólne pod kanwą nadaj aktywności nazwę, u nas Sprzedaz_miesieczna, a na karcie Ustawienia wybierz obszar roboczy i notes nordvella_sprzedaz_miesieczna. Pole Połączenie nie jest wymagane.
  4. Zapisz potok ikoną dyskietki.
Edytor potoku w Fabric z aktywnością Notes i wybranym notesem nordvella_sprzedaz_miesieczna
Potok z jedną aktywnością notesu. Do tej samej kanwy dodasz kolejne kroki, na przykład kopiowanie danych przed przeliczeniem.

Harmonogram ustawisz przyciskiem Harmonogram na pasku narzędzi: Dodaj harmonogram, typ Stały, cykl Codziennie, pora dnia 06:00 i strefa czasowa. W tym samym panelu wpiszesz adres, na który Fabric wyśle wiadomość, gdy zaplanowane uruchomienie się nie powiedzie.

Panel Harmonogram potoku w Fabric: typ Stały, cykl Codziennie, pora dnia 06:00, daty i strefa czasowa
Formularz harmonogramu potoku. W naszym teście nie zapisywaliśmy go, żeby codzienne przebiegi nie zużywały wspólnej pojemności próbnej.

Potok uruchomiliśmy ręcznie przyciskiem Uruchom. Przebieg zakończył się stanem Powodzenie, a sam notes wykonał się w 1 min 4 s.

Wynik uruchomienia potoku w Fabric: stan potoku Powodzenie, aktywność Sprzedaz_miesieczna i czas trwania 1 min 4 s
Karta Dane wyjściowe pokazuje stan każdej aktywności, czas startu i czas trwania.

Databricks: job z zadaniem Notebook

  1. Kliknij New, potem Job, i zmień nazwę joba, u nas nordvella_fvd_miesieczna.
  2. Kliknij Notebook, nazwij zadanie, a w polu Path wskaż notatnik (najszybciej z karty Recents). Jako Compute zostaw Serverless i kliknij Create task.
  3. W panelu po prawej kliknij Add trigger.
Typy wyzwalaczy joba w Databricks: Scheduled, File arrival, Table update, Continuous i Model update
Job w Databricks może startować nie tylko o określonej godzinie, ale też po pojawieniu się pliku, po zmianie tabeli albo w trybie ciągłym.
  1. Wybierz Scheduled, przełącz Schedule type na Schedule i ustaw Every Day at 06:00 w strefie Europe/Warsaw.
  2. Kliknij Save, a potem Run now, żeby sprawdzić job od razu.
Harmonogram joba w Databricks: Every Day at 06:00 w strefie Europe/Warsaw, status Paused
Harmonogram joba z ustawioną godziną i strefą czasową. Status Paused zostawiliśmy, żeby job nie uruchamiał się codziennie na koncie demonstracyjnym.
Lista przebiegów joba nordvella_fvd_miesieczna w Databricks: uruchomienie ręczne zakończone stanem Succeeded po 5 min 18 s
Przebieg joba zakończył się stanem Succeeded. Trwał 5 min 18 s, dłużej niż interaktywne uruchomienie notatnika.

W obu platformach harmonogram jest kilkoma kliknięciami. Różnica leży w szerokości: potoki Fabric (z rodziny Data Factory) łatwo łączą kopiowanie danych z wielu źródeł z notesami i procedurami, a joby Databricks mają więcej wyzwalaczy opartych na danych, takich jak pojawienie się pliku czy zmiana tabeli.

Krok 6. Raport w Power BI i pulpit AI/BI

Co chcemy osiągnąć. Dać zarządowi raport ze sprzedażą w regionach i trendem miesięcznym, odświeżany bez kopiowania danych. W Fabric robi to Power BI na modelu Direct Lake, w Databricks pulpit AI/BI.

Fabric: model Direct Lake i raport Power BI

Direct Lake to tryb, w którym model Power BI czyta tabele Delta prosto z OneLake, bez importu danych do modelu i bez zapytań do bazy przy każdym kliknięciu. W lakehouse kliknij Nowy model semantyczny, nadaj nazwę, zaznacz tabele i kliknij Potwierdź.

Okno Nowy model semantyczny w Fabric w trybie Direct Lake z nazwą nordvella_model i zaznaczonymi czterema tabelami
Tworzenie modelu Direct Lake: wybierasz tabele z lakehouse, a model powstaje bez kopiowania danych.

Relacje między tabelami dodaliśmy skryptem w widoku TMDL (TMDL to tekstowy zapis modelu Power BI). Otworzysz go z menu modelu poleceniem Otwórz w widoku TMDL, na razie w wersji zapoznawczej: wklejasz skrypt i klikasz Zastosuj. Ten sam efekt da przeciągnięcie kolumn między tabelami w widoku modelu.

createOrReplace

	relationship sprzedaz_sklepy
		fromColumn: sprzedaz.SklepID
		toColumn: sklepy.SklepID

	relationship sprzedaz_kalendarz
		fromColumn: sprzedaz.DataID
		toColumn: kalendarz.DataID

	relationship sprzedaz_produkty
		fromColumn: sprzedaz.ProduktID
		toColumn: produkty.ProduktID
Widok modelu Direct Lake w Fabric: tabela sprzedaz połączona relacjami z tabelami kalendarz, produkty i sklepy
Model w układzie gwiazdy: tabela faktów sprzedaz połączona z kalendarzem, produktami i sklepami.

Najszybszy raport daje polecenie Automatyczne tworzenie raportów z menu modelu w obszarze roboczym. Power BI dobiera pola sam, a w panelu Twoje dane zaznaczasz tabele i pola, które Cię interesują. U nas po zaznaczeniu tabel sklepy i sprzedaz powstało szybkie podsumowanie z sześcioma wykresami.

Szybkie podsumowanie Power BI w Fabric na modelu Direct Lake: sześć wykresów według regionu, kanału sprzedaży i formy płatności
Automatyczny raport Power BI z wykresami według regionu, kanału sprzedaży i formy płatności, zbudowany bez ręcznego układania wizualizacji.

Do raportu dla zarządu i tak warto zaprojektować wizualizacje samodzielnie. Pokazujemy to krok po kroku w lekcji o modelu Direct Lake i Copilocie w kursie Power BI.

Databricks: pulpit AI/BI zbudowany przez Genie

W Databricks kliknij New, potem Dashboard. Nowy pulpit proponuje Create a dashboard with Genie: opisujesz po polsku, co chcesz zobaczyć, a znakiem @ wskazujesz tabele z katalogu. Wpisaliśmy takie polecenie:

Polecenie dla Genie: pulpit sprzedaży Nordvelli

Zbuduj pulpit sprzedaży sieci Nordvella na tabelach @sprzedaz, @sklepy i @kalendarz. Pokaż sprzedaż netto według regionu w 2025 roku (tylko transakcje z CzyZwrot = 0), miesięczny trend sprzedaży netto i marży od 2022 roku oraz udział kanałów sprzedaży. Tytuły i opisy wykresów po polsku.
Pole Create a dashboard with Genie w Databricks z poleceniem po polsku i wskazanymi tabelami sprzedaz, sklepy i kalendarz
Polecenie w polu Genie. Tabele wskazane znakiem @ pojawiają się jako plakietki.

Genie przygotował pulpit sam: utworzył trzy lokalne widoki metryk (Sprzedaż, Sklepy, Kalendarz), czyli definicje miar, takich jak sprzedaż netto i marża, połączył je relacjami po kolumnach SklepID i DataID i zbudował na nich trzy wykresy z polskimi tytułami i opisami. Pulpit opublikowaliśmy przyciskiem Publish.

Pulpit AI/BI Nordvella w Databricks: sprzedaż netto według regionu, udział kanałów sprzedaży i trend miesięczny
Opublikowany pulpit: słupki regionów zgadzają się z wynikiem zapytania SQL, obok udział kanałów sprzedaży i trend sprzedaży oraz marży.
Okno Publish w Databricks z wyborem Share data permission albo Individual data permission dla odbiorców pulpitu
Przy publikacji wybierasz, czy odbiorcy oglądają dane z uprawnieniami autora pulpitu, czy z własnymi uprawnieniami.

Power BI jest dojrzałym narzędziem raportowym z bogatym modelem danych, językiem DAX i aplikacjami mobilnymi, a w organizacji z Microsoft 365 raporty trafiają też do Teams i Excela. Pulpity AI/BI są prostsze, ale żyją tuż obok danych i dają się zbudować poleceniem w języku naturalnym. Jeśli Twoja firma już raportuje w Power BI, a dane przetwarza w Databricks, oba światy da się połączyć, o czym piszemy niżej.

AI w obu platformach: Copilot i Genie

Co chcemy osiągnąć. Sprawdzić, czy menedżer bez znajomości SQL dostanie poprawną odpowiedź na pytanie zadane po polsku.

Databricks: przestrzeń Genie

Kliknij New, potem Genie Agent, wskaż tabele schematu nordvella_fvd i kliknij Create. W trybie Chat zadaliśmy pytanie:

Pytanie do Genie o sprzedaż w regionach

Który region miał najwyższą sprzedaż netto w 2025 roku, licząc tylko transakcje z CzyZwrot = 0? Pokaż ranking wszystkich regionów z kwotami.
Odpowiedź Genie w Databricks po polsku: ranking regionów z kwotami i tabela wyników z filtrami Rok i CzyZwrot
Genie odpowiedział po polsku, a ranking i kwoty zgadzają się z naszym zapytaniem SQL. Filtry Rok 2025 i CzyZwrot 0 widać nad tabelą wyników.

Liczby w tabeli są poprawne, a przycisk Show code pokazuje zapytanie SQL, które Genie napisał. Warto do niego zaglądać przy wnioskach słownych: w podsumowaniu Genie napisał, że najwyższa sprzedaż była „ponad pięciokrotnie większa niż najniższa”, a z tabeli wychodzi 37,12 mln wobec 7,68 mln zł, czyli ok. 4,8 raza. Kwoty brane prosto z zapytania są pewne, a porównania opisane słowami sprawdzasz na liczbach.

Fabric: Copilot

Copilot w Fabric i w Power BI wymaga płatnej pojemności Fabric F2 lub większej. Wersja próbna go nie obejmuje, o czym informuje już opis typu obszaru roboczego w kroku 1. Dlatego Copilota pokazujemy na zrzucie z naszego kursu Power BI, nagranym w tym samym środowisku na płatnej pojemności: Copilot w Power BI Desktop proponuje miarę DAX na danych Nordvelli i objaśnia ją krok po kroku.

Panel Copilota w Power BI Desktop: polecenie po polsku i proponowana miara Sprzedaż netto po zwrotach z wyjaśnieniem
Copilot w Power BI Desktop podłączony do obszaru na pojemności Fabric proponuje miarę DAX i opisuje, co liczy każda jej część.

Jeśli Copilot nie pojawia się w Twoim Power BI albo Fabric, przyczyną jest zwykle pojemność, licencja albo ustawienie dzierżawy. Opisujemy to w artykule Copilot w Power BI jest niedostępny: pojemność Fabric, licencja i ustawienia administratora.

Uprawnienia i pochodzenie danych

Co chcemy osiągnąć. Dać analitykom sprzedaży dostęp do wybranych tabel i wiedzieć, skąd pochodzi każda liczba w raporcie.

Fabric: role OneLake i widok pochodzenia

Dostęp w Fabric zaczyna się od czterech ról obszaru roboczego, od administratora po rolę z prawem tylko do odczytu. Dokładniej ustawisz go w Zabezpieczeniach usługi OneLake: w lakehouse kliknij Zarządzaj zabezpieczeniami usługi OneLake, potem Nowy, nazwij rolę, wybierz uprawnienie odczytu i zaznacz konkretne tabele. To samo okno pozwala ograniczyć dostęp do wierszy i kolumn. Na liście jest już domyślna rola DefaultReader z uprawnieniem odczytu całego lakehouse, więc zanim nowa rola zacznie ograniczać dostęp, sprawdź, kto należy do roli domyślnej.

Okno Edytuj dane dla roli w zabezpieczeniach OneLake w Fabric z zaznaczonymi tabelami sklepy i sprzedaz_miesieczna
Rola w zabezpieczeniach OneLake obejmuje tylko zaznaczone tabele, tu sklepy i sprzedaz_miesieczna.
Widok pochodzenia obszaru roboczego w Fabric: lakehouse, punkt końcowy SQL, model, raport, notes i potok połączone liniami
Widok pochodzenia w obszarze roboczym pokazuje drogę danych od lakehouse do modelu i raportu oraz od notesu do potoku.

Databricks: GRANT w Unity Catalog i graf pochodzenia

W Databricks uprawnienia nadajesz na każdym poziomie Unity Catalog: katalogu, schemacie i tabeli. W Catalog Explorer otwórz tabelę, kliknij kartę Permissions, potem Grant, wskaż użytkownika albo grupę i zaznacz uprawnienia. To samo zrobisz poleceniem SQL:

GRANT SELECT ON TABLE workspace.nordvella_fvd.sprzedaz TO `analitycy_sprzedazy`;
Okno Grant on workspace.nordvella_fvd.sprzedaz w Databricks z listą uprawnień i zaznaczonym SELECT
Lista uprawnień Unity Catalog dla tabeli: od SELECT i MODIFY po MANAGE i READ METADATA.

Unity Catalog sam zapisuje pochodzenie danych (lineage): wie, z których tabel powstała sprzedaz_miesieczna, którym notatnikiem i którym jobem. Graf otworzysz na karcie Lineage tabeli przyciskiem See lineage graph.

Graf pochodzenia w Unity Catalog: tabele kalendarz i sprzedaz zasilają tabelę sprzedaz_miesieczna, z listą kolumn każdej tabeli
Graf pochodzenia tabeli sprzedaz_miesieczna. Unity Catalog zbudował go sam na podstawie uruchomień notatnika i joba.

W większych firmach dochodzi jeszcze warstwa ładu danych: w ekosystemie Microsoft to Microsoft Purview z etykietami poufności, a w Databricks rozbudowane funkcje Unity Catalog, takie jak tagi, maskowanie kolumn i filtry wierszy.

Fabric i Databricks razem

Co chcemy osiągnąć. Sprawdzić, czy wybór jednej platformy wyklucza drugą. Nie wyklucza, bo obie zapisują tabele w formacie Delta i Fabric ma wbudowane elementy do pracy z Azure Databricks.

W galerii Nowy element po wpisaniu „Databricks” Fabric pokazuje dwa elementy. Dublowany katalog Azure Databricks wyświetla w Fabric tabele z katalogu Unity Catalog, dzięki czemu Power BI w trybie Direct Lake czyta dane przetworzone w Databricks. Magazyn platformy Azure Databricks (w wersji zapoznawczej) pozwala odwrotnie: używać OneLake jako magazynu dla Azure Databricks.

Galeria Nowy element w Fabric po wyszukaniu Databricks: Dublowany katalog Azure Databricks i Magazyn platformy Azure Databricks
Dwa elementy Fabric do współpracy z Azure Databricks: dublowanie katalogu Unity Catalog i OneLake jako magazyn dla Databricks.

Drugi mechanizm to skróty OneLake (shortcuts): odwołania do danych w innych miejscach bez kopiowania. W lakehouse kliknij Nowy skrót, a zobaczysz źródła wewnętrzne i zewnętrzne, w tym Amazon S3, Azure Data Lake Storage Gen2 i magazyn Google Cloud.

Okno Nowy skrót w lakehouse Fabric ze źródłami OneLake, Amazon S3, ADLS Gen2, Google Cloud i SharePoint
Skróty OneLake pokazują dane z S3, ADLS czy Google Cloud jako tabele lakehouse bez ich przenoszenia.

Te funkcje dotyczą Azure Databricks. W naszym teście pracowaliśmy na Databricks Free Edition, więc dublowania katalogu nie uruchamialiśmy, ale samo istnienie tych elementów mówi dużo o kierunku: firmy coraz częściej łączą obie platformy, zamiast wybierać jedną.

Koszty: pojemność czy jednostki DBU

Co chcemy osiągnąć. Zrozumieć, za co płacisz w każdej platformie, zanim porównasz oferty. Modele rozliczeń są różne, więc samo porównanie stawek nic nie mówi bez wzorca użycia.

Infografika: model kosztów Fabric oparty na pojemności CU i Databricks oparty na DBU, z cenami katalogowymi Azure
Ceny katalogowe z publicznego API cen Azure dla regionu West Europe, w USD, odczytane 22.10.2026. Rabaty umowne nie są uwzględnione.

Fabric rozliczasz pojemnością. Pojemność F2 to 2 jednostki CU, a każda kosztuje w cenniku katalogowym 0,22 USD za godzinę, więc F2 działająca przez cały miesiąc to 321,20 USD. Azure nalicza pojemność za każdą sekundę pracy, z minimum jednej minuty. Rezerwacja na rok obniża stawkę o ok. 40%. Pojemność możesz wstrzymać, na przykład na noc, a magazyn OneLake płacisz osobno, 0,024 USD za GB miesięcznie. Do raportów Power BI na pojemnościach mniejszych niż F64 odbiorcy potrzebują licencji Power BI Pro, od F64 wystarcza im licencja bezpłatna. Wszystkie obciążenia przypisane do pojemności dzielą przy tym tę samą moc. Na małej pojemności równoległe zadania Spark potrafią się nawzajem zablokować, tak jak w naszym teście:

Błąd TooManyRequestsForCapacity HTTP 430 w notesie Fabric, gdy zadania Spark przekroczyły limit pojemności
Komunikat HTTP 430 TooManyRequestsForCapacity: limit zadań Spark dla pojemności został wyczerpany i komórka nie wystartowała.

Tu przyczyną była sesja po ładowaniu tabel, opisana w kroku 2. Po jej zatrzymaniu notes ruszył od razu. Sam komunikat podpowiada trzy wyjścia: zatrzymać aktywne zadanie Spark w centrum monitorowania, wybrać większą pojemność albo spróbować później. W produkcji podobne kolejki rozwiązuje większa pojemność albo rozłożenie ciężkich zadań w czasie.

Databricks rozliczasz jednostkami DBU za czas pracy obliczeń, a stawka zależy od ich rodzaju. W Azure Databricks Premium zadania (Jobs) kosztują 0,30 USD za DBU, obliczenia interaktywne 0,55 USD, hurtownie SQL Pro 0,72 USD, a hurtownie SQL Serverless 0,91 USD za DBU. W obliczeniach klasycznych dochodzi rachunek dostawcy chmury za maszyny wirtualne, w serverless ten koszt jest w stawce. Klastry i hurtownie SQL zatrzymują się automatycznie po ustawionym czasie bezczynności, więc płacisz głównie za czas faktycznej pracy.

Lista hurtowni SQL w Databricks Free Edition: Serverless Starter Warehouse w rozmiarze 2X-Small typu Serverless
Free Edition daje jedną hurtownię SQL w rozmiarze 2X-Small. W płatnych planach dobierasz rozmiar i liczbę hurtowni do obciążenia.

W praktyce stała pojemność Fabric jest przewidywalna w budżecie i dobrze pasuje do firm, które raportują przez cały dzień. Rozliczenie za czas pracy w Databricks sprzyja obciążeniom o zmiennym natężeniu, ale wymaga pilnowania rozmiarów klastrów i czasu ich pracy. W obu przypadkach najlepszą kalkulacją jest próba na własnych danych, do której wystarczy wersja próbna Fabric i Databricks Free Edition.

Kiedy Fabric, a kiedy Databricks

Co chcemy osiągnąć. Zebrać obserwacje z testu w jedną ściągę i decyzję, którą możesz omówić z zespołem.

ObszarMicrosoft FabricDatabricks
Model usługiSaaS, jeden portal dla całej organizacjiplatforma w chmurze AWS, Azure lub Google Cloud
Magazyn i formatOneLake, tabele Deltamagazyn obiektów chmury, tabele Delta w Unity Catalog
Adres tabelilakehouse.schemat.tabelakatalog.schemat.tabela
SQLpunkt końcowy analizy SQL i magazyn danych (T-SQL)hurtownie SQL (ANSI SQL i Spark SQL)
Sparknotesy z domyślnym lakehousenotatniki na klastrach albo serverless
Harmonogrampotoki Data Factoryjoby z wyzwalaczami czasowymi i opartymi na danych
RaportyPower BI, w tym tryb Direct Lakepulpity AI/BI
AICopilot (płatna pojemność F2 lub większa)Genie dla pytań o dane, asystent w notatnikach
Uprawnieniarole obszaru, zabezpieczenia OneLake, PurviewGRANT w Unity Catalog, maskowanie, filtry wierszy
Rozliczeniepojemność w jednostkach CUjednostki DBU za czas obliczeń
Darmowy startwersja próbna na 60 dniFree Edition z limitami
Infografika: kiedy wybrać Microsoft Fabric, kiedy Databricks, a kiedy połączyć obie platformy
Ściąga do decyzji: Fabric dla firm opartych na Microsoft 365 i Power BI, Databricks dla zespołów inżynierii danych i ML, obie platformy razem tam, gdzie te światy się spotykają.

Nasz wniosek z testu

Na tych samych danych obie platformy dały te same liczby, a większość kodu przeniosła się bez zmian. Fabric wygrywa szybkością startu dla zespołów, które żyją w Power BI i Microsoft 365: lakehouse, model Direct Lake i raport powstają w jednym portalu, a koszty zamykają się w jednej pojemności. Databricks daje inżynierom danych i zespołom ML więcej kontroli nad obliczeniami, bogatsze wyzwalacze jobów i Unity Catalog, który sam śledzi pochodzenie danych. Jeśli w Twojej firmie są oba te zespoły, rozsądnym wyborem bywa połączenie: przetwarzanie w Databricks, raportowanie w Power BI na tych samych tabelach Delta.

Pracę z Apache Spark na platformie Databricks, od PySparka i Spark SQL po format Delta, ćwiczymy na szkoleniu z przetwarzania danych Big Data, a modelowanie i raportowanie w Power BI, także z Copilotem, na kompleksowym szkoleniu Power BI. Oba szkolenia znajdziesz pod tym artykułem.

✕Powiększony zrzut ekranu z porównania Microsoft Fabric i Databricks

Najczęściej zadawane pytania

Czym różni się Microsoft Fabric od Databricks?
Microsoft Fabric to usługa SaaS, w której lakehouse, magazyn danych, potoki, notesy i Power BI działają w jednym portalu na wspólnej pojemności rozliczanej w jednostkach CU. Databricks to platforma danych i AI uruchamiana w chmurze AWS, Azure albo Google Cloud, z katalogiem Unity Catalog i obliczeniami rozliczanymi w jednostkach DBU za czas pracy. Obie przechowują tabele w formacie Delta Lake.
Czy ten sam kod PySpark i SQL działa w Fabric i w Databricks?
W naszym teście tak. To samo zapytanie SQL z dwoma złączeniami dało w obu platformach identyczny wynik, a notatnik PySpark różnił się tylko prefiksem nazw tabel: w Fabric lakehouse i schemat, w Databricks katalog i schemat. Różnice pojawiają się przy dialektach SQL, bo Fabric używa T-SQL, a Databricks SQL zgodnego z ANSI i Spark SQL.
Czy Microsoft Fabric jest tańszy od Databricks?
To zależy od wzorca użycia. Fabric rozliczasz stałą pojemnością, na przykład F2 za 0,22 USD za jednostkę CU na godzinę w cenniku katalogowym Azure, z możliwością wstrzymania. Databricks rozliczasz jednostkami DBU za czas pracy obliczeń, od 0,30 USD za DBU dla zadań w Azure Databricks Premium, plus maszyny wirtualne w obliczeniach klasycznych. Najpewniejszą kalkulację daje próba na własnych danych.
Czy można używać Fabric i Databricks razem?
Tak. Fabric ma element Dublowany katalog Azure Databricks, który pokazuje tabele z Unity Catalog w Fabric, dzięki czemu Power BI w trybie Direct Lake raportuje dane przetworzone w Databricks. Do danych w innych magazynach, takich jak Amazon S3 czy ADLS Gen2, prowadzą skróty OneLake.
Jak wypróbować Fabric i Databricks bez opłat?
Fabric oferuje 60-dniową wersję próbną, którą wybierasz jako typ obszaru roboczego. Nie obejmuje ona Copilota. Databricks udostępnia darmową edycję Free Edition, którą zakładasz kontem Google, Microsoft albo adresem e-mail. Ma limity, na przykład jedną hurtownię SQL w rozmiarze 2X-Small, ale wystarcza do nauki i porównań.
Co wybrać: Copilot w Fabric czy Genie w Databricks?
Copilot działa w Power BI i w elementach Fabric, pomaga pisać miary DAX, kod i raporty, ale wymaga płatnej pojemności F2 lub większej. Genie w Databricks odpowiada na pytania o dane zadane w języku naturalnym, także po polsku, i pokazuje wygenerowane zapytanie SQL. W obu przypadkach liczby warto sprawdzić w kodzie zapytania, zanim trafią do decyzji.

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...