Udostępnij za pośrednictwem


Wykorzystaj doświadczenie w Pythonie na notatniku

Notatka

Obecnie funkcja jest dostępna w wersji zapoznawczej.

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. Dzięki temu jest to niezbędne narzędzie dla analityków danych, analityków i deweloperów analizy biznesowej, zwłaszcza w przypadku zadań eksploracji, które nie wymagają danych big data i przetwarzania rozproszonego.

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. Zapewnia to 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. Dzięki temu użytkownicy mogą łatwo przenieść dane do notesu języka Python, po prostu spróbuj przeciągnąć & upuść, aby uzyskać fragment kodu.

  • programowania Mix za pomocą języka T-SQL: notes języka Python umożliwia łatwą interakcję z magazynem danych i punktami końcowymi SQL w eksploratorze, korzystając z łącznika danych notebookutils, można łatwo wykonywać skrypty języka T-SQL w kontekście języka 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 notesu sieci szkieletowej możesz przełączyć się na python w menu rozwijanym języka na karcie Narzędzia główne i przekonwertować cały notes na język 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 użyć lekkiego środowiska harmonogramu na stronie ustawień notesu, aby uruchomić notes języka Python 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.
  • publicznego interfejsu API uruchom: możesz zaplanować uruchomienie notesu języka Python przy użyciu notesu uruchomić publiczny interfejs API, upewnij się, że właściwości języka i jądra w metadanych notesu ładunku publicznego interfejsu API zostały prawidłowo ustawione.

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 usługą Lakehouse, magazynami, punktami końcowymi SQL i wbudowanymi folderami zasobów w notesie języka Python.

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. Notes 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 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.

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 notesu interaktywnego, jak i notesu potoku. 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
{
    "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 notesów, uzyskiwanie dostępu do magazynu zewnętrznego i pracę z wpisami tajnymi.

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.
  • Kontrakt interfejsu API może ulec zmianie w najbliższej przyszłości.

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 = None) -> pyodbc.Connection
        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.
        :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:
                cursor = conn.cursor()
                cursor.execute(sql_query)
                rows = cursor.fetchall()
                for row in rows:
                    print(row)
    
    help(method_name=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.11/lib/python3.11/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")

cursor = conn.cursor()
cursor.execute("SELECT * FROM sys.schemas;")
rows = cursor.fetchall()
for row in rows:
    print(row)

Wykonywanie zapytań dotyczących danych z magazynu

conn = notebookutils.data.connect_to_artifact("warehouse_name_or_id", "optional_workspace_id", "optional_warehouse_type")

cursor = conn.cursor()
cursor.execute("SELECT * FROM sys.schemas;")
rows = cursor.fetchall()
for row in rows:
    print(row)

Notatka

  • Narzędzia danych w narzędziu NotebookUtils są obecnie dostępne tylko w notesie języka Python.
  • Znane ograniczenie: w przypadku interfejsu API connect_to_artifact zwrócony obiekt conn wewnętrznie inicjuje token usługi PBI w celu uwierzytelnienia użytkownika podczas nawiązywania połączenia ze źródłem danych. Nie obsługuje jednak odświeżania tokenu. Obecnie token usługi PBI jest ważny tylko przez jedną godzinę, każde zapytanie przekraczające jedną godzinę zakończy się niepowodzeniem z powodu problemu z wygaśnięciem tokenu.

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 notesu.

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.

Funkcja IntelliSense kodu

Zintegrowanie notebooka języka Python z Pylance, aby poprawić doświadczenie kodowania w języku Python. Pylance jest domyślną obsługą usługi językowej dla języka Python w programie Visual Studio Code. Udostępnia wiele łatwych w użyciu funkcji, takich jak wyróżnianie słów kluczowych, szybkie informacje, uzupełnianie kodu, informacje o parametrach i wykrywanie błędów składni. Ponadto Pylance ma lepszą wydajność, gdy notatnik jest długi.

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 możliwości ś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. Czas rozpoczęcia sesji może zostać opóźniony nawet o 3 minuty, jeśli uruchamianie notesu nie trafi do aktywnej puli. W miarę jak rośnie wykorzystanie notesu języka Python, inteligentne metody przydzielania zasobów stopniowo zwiększają alokację aktywnej puli, aby zaspokoić zapotrzebowanie.

  • Integracja środowiska nie jest dostępna w notesie języka Python w publicznej wersji zapoznawczej.

  • 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. Bądź na bieżąco, ponieważ będziemy nadal wdrażać pomoc techniczną w kolejnych regionach.