Udostępnij za pośrednictwem


Wykorzystaj doświadczenie w Pythonie na notatniku

Notebook Python to nowe doświadczenie zbudowane na bazie notesu Fabric. Jest to uniwersalne i interaktywne narzędzie przeznaczone do analizy danych, wizualizacji i uczenia maszynowego. Zapewnia bezproblemowe środowisko programowania do pisania i wykonywania kodu w języku Python. Ta funkcja sprawia, że jest to niezbędne narzędzie dla analityków danych, analityków i deweloperów analizy biznesowej, szczególnie w przypadku zadań eksploracji, które nie wymagają danych big data i przetwarzania rozproszonego.

Ważne

Ta funkcja jest dostępna w wersji zapoznawczej.

Za pomocą notesu języka Python możesz uzyskać następujące możliwości:

  • Wiele wbudowanych jąder Pythona: Notesy Pythona oferują czyste środowisko kodowania w Pythonie bez platformy Spark, z dwiema wersjami jądra – Python 3.10 i 3.11 dostępne domyślnie, a także obsługiwane są natywne funkcje IPython, takie jak iPyWidget i polecenia magiczne.

  • Kosztowo efektywny: Nowy notatnik w języku Python oferuje korzyści kosztowe dzięki uruchamianiu na klastrze z jednym węzłem z domyślnie przydzielonymi 2vCores/16GB pamięci. Ta konfiguracja zapewnia efektywne wykorzystanie zasobów w projektach eksploracji danych o mniejszym rozmiarze.

  • Lakehouse & Resources są natywnie dostępne: Pełna funkcjonalność usługi Fabric Lakehouse wraz z wbudowanymi zasobami notebooka jest dostępna w notesie języka Python. Ta funkcja umożliwia użytkownikom łatwe przenoszenie danych do notatnika Pythona, po prostu spróbuj drag & drop, aby uzyskać fragment kodu.

  • Połącz programowanie z językiem T-SQL: Notatnik Python oferuje łatwy sposób na interakcję z hurtownią danych i punktami końcowymi SQL, korzystając z narzędzia notebookutils, można łatwo wykonywać skrypty T-SQL w środowisku Python.

  • Obsługa popularnych bibliotek analizy danych: Notesy języka Python są dostarczane ze wstępnie zainstalowanymi bibliotekami, takimi jak DuckDB, Polars i Scikit-learn, zapewniając kompleksowy zestaw narzędzi do manipulacji danymi, analizy i uczenia maszynowego.

  • Advanced Intellisense: Notatnik Python wdraża Pylance jako aparat Intellisense wraz z innymi dostosowanymi usługami językowymi Fabric, mając na celu zapewnienie zaawansowanego środowiska kodowania dla deweloperów notatników.

  • NotebookUtils & link semantyczny: Zaawansowane zestawy narzędzi API umożliwiają łatwe korzystanie z możliwości Fabric i Power BI dzięki środowisku opartemu na kodzie.

  • Rozbudowanych możliwości wizualizacji: Poza popularną funkcją podglądu ramki danych "Table" i funkcją "Chart", obsługujemy również popularne biblioteki wizualizacji, takie jak Matplotlib, Seaborn i Plotly. Program PowerBIClient obsługuje również te biblioteki, aby ułatwić użytkownikom lepsze zrozumienie wzorców danych i szczegółowych informacji.

  • typowe możliwości notesu Fabric: Wszystkie funkcje na poziomie notesu są naturalnie dostępne dla notesu języka Python, takie jak funkcje edycji, auto-zapis, współpraca, udostępnianie i zarządzanie uprawnieniami, integracja z usługą Git, importowanie/eksportowanie itp.

  • pełne stackowe możliwości nauki o danych: zaawansowany zestaw narzędzi low-code do analizy danych Data Wrangler, struktura uczenia maszynowego MLFlow i zaawansowany Copilot są dostępne w notebooku języka Python.

Jak uzyskać dostęp do notesu języka Python

Po otwarciu Fabric Notebook możesz przełączyć się na Python w menu rozwijanym języka na karcie Strona Główna i przekonwertować cały układ notesu na Python.

Zrzut ekranu przedstawiający przełączanie na język Python z menu języka notesu.

Większość typowych funkcji jest obsługiwana na poziomie notesu. Możesz zapoznać się z Jak używać notesów usługi Microsoft Fabric oraz Opracowywanie, wykonywanie i zarządzanie notesami usługi Microsoft Fabric, aby dowiedzieć się więcej na temat szczegółowego użycia. W tym miejscu wymieniono niektóre kluczowe możliwości specyficzne dla scenariuszy języka Python.

Uruchamianie notesów języka Python

Notatnik języka Python obsługuje różne sposoby wykonywania zadań.

  • Interaktywne uruchamianie: możesz uruchomić notatnik Pythona interaktywnie, jak w natywnym notatniku Jupyter.
  • Harmonogram uruchamiania: możesz skorzystać z uproszczonego harmonogramu na stronie ustawień notatnika, aby uruchomić notatnik Pythona jako zadanie wsadowe.
  • Uruchamianie potoku: notesy języka Python można organizować jako działania notesu w potoku danych . Migawka zostanie wygenerowana po wykonaniu zadania.
  • Uruchomienie— możesz użyć notebookutils.notebook.run() lub notebookutils.notebook.runMultiple(), aby uruchamiać notatniki Python w innym notatniku Python jako zadanie wsadowe. Migawka zostanie wygenerowana po zakończeniu wzorcowego przebiegu.
  • Uruchomienie publicznego interfejsu API: możesz zaplanować uruchomienie notatnika Python przy użyciu publicznego interfejsu API do uruchamiania notatników, upewnij się, że właściwości języka i jądra w metadanych notatnika w przesyłce publicznego interfejsu API są odpowiednio skonfigurowane.

Szczegóły uruchomienia zadania notatnika języka Python można monitorować na karcie wstążki Uruchom ->Wyświetl wszystkie uruchomienia.

Interakcja z danymi

Możesz wchodzić w interakcje z Lakehouse, magazynami danych, punktami końcowymi SQL i wbudowanymi folderami zasobów w notatniku Pythona.

Notatka

Środowisko uruchomieniowe notesu języka Python jest wstępnie zainstalowane z bibliotekami delta‑rs i duckdb do obsługi zarówno odczytu, jak i zapisywania danych w Delta Lake. Należy jednak pamiętać, że niektóre funkcje usługi Delta Lake mogą nie być obecnie w pełni obsługiwane. Aby uzyskać więcej informacji i najnowsze aktualizacje, prosimy o odwiedzenie oficjalnych stron internetowych delta-rs oraz duckdb.

Interakcja z usługą Lakehouse

Możesz ustawić usługę Lakehouse jako domyślną lub dodać wiele usług Lakehouse do eksplorowania i używania ich w notesach.

Jeśli nie znasz czytania obiektów danych, takich jak tabela delta , spróbuj przeciągnąć i upuścić plik oraz tabelę delta na kanwę notesu, lub skorzystać z opcji Load data w menu rozwijanym obiektu. Notatnik automatycznie wstawia fragment kodu do komórki kodu i generuje kod do odczytywania docelowego obiektu danych.

Notatka

Jeśli podczas ładowania dużej ilości danych wystąpi OOM, spróbuj użyć biblioteki DuckDB, Polars lub PyArrow zamiast biblioteki pandas.

Operację write Lakehouse można znaleźć w Przeglądanie fragmentu kodu —>Zapisywanie danych w tabeli delty.

Zrzut ekranu przedstawiający operację zapisu w systemie lakehouse.

Interakcja z hurtownią danych i programowanie mieszane za pomocą języka T-SQL

Magazyny danych lub punkty końcowe SQL można dodać w Eksploratorze magazynu Notebook. Podobnie możesz przeciągać i upuszczać tabele na kanwę notesu lub używać operacji skrótów w menu rozwijanym tabeli. Notebook automatycznie generuje dla Ciebie fragment kodu. Możesz użyć narzędzi notebookutils.data do nawiązania połączenia z magazynami i wykonywania zapytań dotyczących danych przy użyciu instrukcji języka T-SQL w kontekście języka Python.

Zrzut ekranu przedstawiający skróty dla tabeli magazynowej.

Notatka

Punkty końcowe SQL są tutaj tylko do odczytu.

Folder zasobów notatnika

Folder wbudowanych zasobów notesu jest natywnie dostępny w notesie Python. Możesz łatwo wchodzić w interakcję z plikami w wbudowanym folderze zasobów przy użyciu kodu języka Python, tak jak w przypadku pracy z lokalnym systemem plików. Obecnie folder zasobów środowiska nie jest obsługiwany.

Operacje jądra

Notatnik języka Python obsługuje teraz dwa wbudowane jądra; są to Python 3.10 i Python 3.11, a domyślnym wybranym jądrem jest Python 3.11. można łatwo przełączać się między nimi.

Możesz przerwać, uruchomić ponownie lub przełączyć jądro na karcie Narzędzia główne wstążki. Przerywanie jądra w notesach Python jest jak zatrzymanie komórki w notesie Spark.

Zrzut ekranu przedstawiający operacje jądra.

Nieprawidłowe zakończenie jądra powoduje przerwanie wykonywania kodu i utratę zmiennych, ale nie zatrzymuje sesji notatnika.

Istnieją polecenia, które mogą prowadzić do śmierci jądra. Na przykład quit(), exit().

Zarządzanie biblioteką

Możesz używać poleceń %pip oraz %conda do instalacji bezpośrednich. Polecenia obsługują zarówno biblioteki publiczne, jak i dostosowane.

W przypadku niestandardowych bibliotek można przekazać pliki lib do folderu wbudowane-zasoby. Obsługujemy wiele typów bibliotek, takich jak .whl, .jar, .dll, .pyitp. Wystarczy, że przeciągniesz i upuścisz&do pliku, a fragment kodu zostanie wygenerowany automatycznie.

Może być konieczne ponowne uruchomienie jądra w celu korzystania ze zaktualizowanych pakietów.

Aby lepiej zrozumieć i użyć podobnych poleceń, zapoznaj się z poniższą tabelą.

Polecenie/Składnia Główny cel Jak to działa w Jupyter Notebook Typowy przypadek użycia Notatki
%pip install package Instalowanie pakietów języka Python Uruchamia pip w jądrze języka Python notebooka Zalecany sposób instalowania pakietów W notesie języka Python, tak jak !pip, nie restartuje jądra automatycznie
!pip install package Instalowanie pakietów języka Python za pośrednictwem powłoki Uruchamia pip jako polecenie powłoki Alternatywny sposób instalowania pakietów W Python Notebook, tak samo jak %pip, nie restartuje jądra automatycznie
import sys; sys.exit(0) Uruchom ponownie jądro notatnika Natychmiast ponownie uruchamia jądro Programowe ponowne uruchamianie jądra Czyści wszystkie zmienne i stany; nie zaleca się bezpośredniego używania
notebookutils.session.restartPython() Uruchom ponownie jądro notesu Wywołuje sys.exit(0) wewnętrznie Zalecany sposób ponownego uruchomienia jądra Oficjalny interfejs API, bezpieczniejszy i bardziej zgodny niż użycie bezpośrednio sys.exit(0)

Notatka

  • W Notebooku Python, %pip i !pip mają takie samo zachowanie: zarówno instalują pakiety w środowisku aktualnego jądra, jak i nie spowodują automatycznego ponownego uruchomienia jądra po instalacji.
  • Jeśli musisz ponownie uruchomić jądro (np. po zainstalowaniu niektórych pakietów), zaleca się użycie polecenia notebookutils.session.restartPython() zamiast import sys; sys.exit(0).
    • notebookutils.session.restartPython() to oficjalny interfejs API, który opakowuje sys.exit(0) i jest bezpieczniejszy oraz bardziej zgodny w środowiskach notebooków.
  • Nie zaleca się używania sys.exit(0) bezpośrednio, chyba że jest to konieczne.

Magiczne polecenie konfiguracji sesji

Podobnie jak w przypadku personalizacji konfiguracji sesji platformy Spark w notesie, możesz również użyć %%configure w notesie języka Python. Notebook Python obsługuje dostosowywanie rozmiaru węzła obliczeniowego, punktów montowania i domyślnego lakehouse'u w sesji notebooka. Mogą być używane zarówno w działaniach zeszytu interaktywnego, jak i zeszytu procesu. Zalecamy użycie polecenia %%configure na początku notesu lub ponowne uruchomienie sesji notesu, aby ustawienia zaczęły obowiązywać.

Oto obsługiwane właściwości w notatniku języka Python %%configure:

%%configure -f
{
    "vCores": 4, // Recommended values: [4, 8, 16, 32, 64], Fabric will allocate matched memory according to the specified vCores.
    "defaultLakehouse": {  
        // Will overwrites the default lakehouse for current session
        "name": "<lakehouse-name>",
        "id": "<(optional) lakehouse-id>",
        "workspaceId": "<(optional) workspace-id-that-contains-the-lakehouse>" // Add workspace ID if it's from another workspace
    },
    "mountPoints": [
        {
            "mountPoint": "/myMountPoint",
            "source": "abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path>"
        },
        {
            "mountPoint": "/myMountPoint1",
            "source": "abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path1>"
        },
    ],
}

Możesz wyświetlić aktualizację zasobów obliczeniowych na pasku stanu notesu i monitorować użycie procesora CPU i pamięci węzła obliczeniowego w czasie rzeczywistym.

Zrzut ekranu przedstawiający aktualizację zasobów obliczeniowych.

NotebookUtils

Notebook Utilities (NotebookUtils) to wbudowany pakiet ułatwiający wykonywanie typowych zadań w Fabric Notebook. Jest ona wstępnie zainstalowana w środowisku uruchomieniowym języka Python. Narzędzia NotebookUtils umożliwiają pracę z systemami plików, uzyskiwanie zmiennych środowiskowych, łączenie notatników, uzyskiwanie dostępu do magazynu zewnętrznego i pracę z tajnymi danymi.

Za pomocą notebookutils.help() można wyświetlić listę dostępnych interfejsów API, a także uzyskać pomoc dotyczącą metod lub odwołać się do dokumentu NotebookUtils.

Narzędzia danych

Notatka

Obecnie funkcja jest dostępna w wersji zapoznawczej.

Za pomocą narzędzi notebookutils.data można nawiązać połączenie z podanym źródłem danych, a następnie odczytywać i wykonywać zapytania o dane przy użyciu instrukcji języka T-SQL.

Uruchom następujące polecenie, aby uzyskać przegląd dostępnych metod:

notebookutils.data.help()

Wyjście:

Help on module notebookutils.data in notebookutils:

NAME
    notebookutils.data - Utility for read/query data from connected data sources in Fabric

FUNCTIONS
    connect_to_artifact(artifact: str, workspace: str = '', artifact_type: str = '', **kwargs)
        Establishes and returns an ODBC connection to a specified artifact within a workspace 
        for subsequent data queries using T-SQL.
        
        :param artifact: The name or ID of the artifact to connect to.
        :param workspace:  Optional; The workspace in which the provided artifact is located, if not provided,
                             use the workspace where the current notebook is located.
        :param artifactType: Optional; The type of the artifact, Currently supported type are Lakehouse, Warehouse and MirroredDatabase. 
                                If not provided, the method will try to determine the type automatically.
        :param **kwargs Optional: Additional optional configuration. Supported keys include:
            - tds_endpoint : Allow user to specify a custom TDS endpoint to use for connection.
        :return: A connection object to the specified artifact.
        
        :raises UnsupportedArtifactException: If the specified artifact type is not supported to connect.
        :raises ArtifactNotFoundException: If the specified artifact is not found within the workspace.
        
        Examples:
            sql_query = "SELECT DB_NAME()"
            with notebookutils.data.connect_to_artifact("ARTIFACT_NAME_OR_ID", "WORKSPACE_ID", "ARTIFACT_TYPE") as conn:
                df = conn.query(sql_query)
                display(df)
    
    help(method_name: str = '') -> None
        Provides help for the notebookutils.data module or the specified method.
        
        Examples:
        notebookutils.data.help()
        notebookutils.data.help("connect_to_artifact")
        :param method_name: The name of the method to get help with.

DATA
    __all__ = ['help', 'connect_to_artifact']

FILE
    /home/trusted-service-user/jupyter-env/python3.10/lib/python3.10/site-packages/notebookutils/data.py

Wykonywanie zapytań dotyczących danych z usługi Lakehouse

conn = notebookutils.data.connect_to_artifact("lakehouse_name_or_id", "optional_workspace_id", "optional_lakehouse_type")
df = conn.query("SELECT * FROM sys.schemas;")

Wykonywanie zapytań dotyczących danych z magazynu

conn = notebookutils.data.connect_to_artifact("warehouse_name_or_id", "optional_workspace_id", "optional_warehouse_type")
df = conn.query("SELECT * FROM sys.schemas;")

Notatka

Narzędzia danych w NotebookUtils są obecnie dostępne tylko w notatniku Pythona.

Przeglądanie fragmentów kodu

Przydatne fragmenty kodu języka Python można znaleźć na karcie Edytuj —>Przeglądaj fragment kodu. Teraz dostępne są nowe przykłady języka Python. Możesz poznać fragment kodu języka Python, aby rozpocząć eksplorowanie notatnika.

zrzut ekranu przedstawiający miejsce przeglądania fragmentów kodu w języku Python.

Link semantyczny to funkcja umożliwiająca nawiązanie połączenia między modelami semantycznymi i Synapse Data Science w usłudze Microsoft Fabric. Jest ona natywnie obsługiwana w notatniku Pythona. Inżynierowie analizy biznesowej i deweloperzy usługi Power BI mogą łatwo korzystać z połączenia semantycznego i zarządzać modelem semantycznym. Przeczytaj publiczny dokument, aby dowiedzieć się więcej na temat linku semantycznego.

Wizualizacja

Oprócz tworzenia wykresów przy użyciu bibliotek, wbudowana funkcja wizualizacji umożliwia przekształcanie ramek DataFrame w rozbudowane wizualizacje danych. Możesz użyć funkcji display() w ramkach danych, aby utworzyć bogaty widok tabeli ramek danych i widok wykresu.

Zrzut ekranu przedstawiający doświadczenie wizualizacji w notesie języka Python.

Notatka

Konfiguracje wykresu będą utrwalane w notesie języka Python, co oznacza, że po ponownym uruchomieniu komórki kodu, jeśli schemat docelowej ramki danych nie ulegnie zmianie, zapisane wykresy są nadal utrwalane.

IntelliSense do kodu

Python notebook używa również Pylance jako serwera językowego. Aby uzyskać więcej informacji, zobacz ulepszanie programowania w języku Python za pomocą rozwiązania Pylance.

Możliwości nauki o danych

Odwiedź stronę Dokumentacja nauki o danych w usłudze Microsoft Fabric, aby dowiedzieć się więcej o nauce o danych i środowisku sztucznej inteligencji w usłudze Fabric. W tym miejscu wymieniono kilka kluczowych funkcji nauki o danych, które są natywnie obsługiwane w notesie języka Python.

  • Data Wrangler: Data Wrangler to narzędzie oparte na notesach, które udostępnia immersyjny interfejs do analizy danych eksploracyjnej. Ta funkcja łączy wyświetlanie danych przypominających siatkę z dynamicznymi statystykami podsumowania, wbudowanymi wizualizacjami i biblioteką typowych operacji czyszczenia danych. Zapewnia czyszczenie danych, przekształcanie danych i integrację, co przyspiesza przygotowywanie danych za pomocą rozwiązania Data Wrangler.

  • MLflow: eksperyment uczenia maszynowego jest podstawową jednostką organizacji i kontroli dla wszystkich powiązanych przebiegów uczenia maszynowego. Przebieg odpowiada pojedynczemu wykonaniu kodu modelu.

  • Automatyczne Rejestrowanie w Microsoft Fabric: Synapse Data Science w Microsoft Fabric obejmuje automatyczne rejestrowanie, co znacznie zmniejsza ilość kodu wymaganego do automatycznego rejestrowania parametrów, metryk i elementów modelu uczenia maszynowego podczas trenowania.

    Automatyczne rejestrowanie rozszerza funkcje śledzenia MLflow. Automatyczne rejestrowanie może przechwytywać różne metryki, w tym dokładność, stratę, wynik F1 i niestandardowe metryki zdefiniowane przez użytkownika. Korzystając z automatycznego rejestrowania, deweloperzy i analitycy danych mogą łatwo śledzić i porównywać wydajność różnych modeli i eksperymentów bez ręcznego śledzenia.

  • Copilot: Copilot dla notatników Data Science i Data Engineering to asystent sztucznej inteligencji, który ułatwia analizowanie i wizualizowanie danych. Współdziała z tabelami lakehouse, zestawami danych Power BI i ramkami danych pandas/spark, dostarczając odpowiedzi i fragmenty kodu bezpośrednio w notatniku. W notatniku możesz użyć panelu czatu Copilot i funkcji Char-magics, a sztuczna inteligencja udostępnia odpowiedzi lub kod do skopiowania do notatnika.

Znane ograniczenia dotyczące publicznej wersji zapoznawczej

  • Doświadczenie na żywo z pulą zasobów nie jest gwarantowane dla każdego uruchomienia notesu języka Python. Rozpoczęcie sesji może zająć do 3 minut, jeśli uruchomienie notesu nie trafi do puli na żywo. Wraz ze wzrostem użycia notatników języka Python nasze inteligentne metody przydziału zasobów stopniowo zwiększają przydział zasobów w czasie rzeczywistym, aby zaspokoić zapotrzebowanie.

  • Integracja środowiska nie jest dostępna w notesie Pythona w publicznej wersji próbnej.

  • Funkcja ustawienia limitu czasu sesji jest obecnie niedostępna.

  • Copilot może wygenerować instrukcję Spark, która może nie być wykonywalna w notatniku Pythona.

  • Obecnie Copilot w notatnikach Python nie jest w pełni dostępny w wielu regionach. Proces wdrażania jest nadal w toku, prosimy o cierpliwość, ponieważ kontynuujemy wprowadzanie wsparcia w kolejnych regionach.