Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Notatnik Microsoft Fabric to główny element kodu służący do tworzenia zadań Apache Spark oraz eksperymentów z uczenia maszynowego. Jest to interaktywna powierzchnia internetowa używana przez analityków danych i inżynierów danych do pisania kodu korzystającego z zaawansowanych wizualizacji i tekstu markdown. W tym artykule wyjaśniono, jak tworzyć notesy, wykorzystując operacje w komórkach kodu, i uruchamiać je.
Tworzyć notatniki
Notesy składają się z komórek, które są poszczególnymi blokami kodu lub tekstu, które mogą być uruchamiane niezależnie lub jako grupa.
Zapewniamy bogate możliwości do tworzenia notesów.
- Dodawanie komórki
- Ustawianie języka podstawowego
- Używanie wielu języków
- IntelliSense w stylu IDE
- Fragmenty kodu
- Przeciągnij i upuść, aby wstawić fragmenty kodu
- Przeciągnij i upuść, aby wstawić obrazy
- Formatowanie komórki tekstowej za pomocą przycisków paska narzędzi
- Cofnij lub ponów operację komórki
- Przenoszenie komórki
- Usuwanie komórki
- Zwiń dane wejściowe komórki
- Zwiń wyjście komórki
- Zabezpieczenia danych wyjściowych komórki
- Zablokować lub zamrozić komórkę
- Zawartość notatnika
- Składanie Markdown
- Znajdowanie i zastępowanie
Dodawanie komórki
Istnieje wiele sposobów dodawania nowej komórki do notesu.
Umieść kursor na przestrzeni między dwoma komórkami i wybierz pozycję Kod lub Markdown.
Użyj skrótów w trybie poleceń. Naciśnij A, aby wstawić komórkę nad bieżącą komórką. Naciśnij B , aby wstawić komórkę poniżej bieżącej komórki.
Ustawianie języka podstawowego
Notesy Fabric obsługują obecnie cztery języki Apache Spark:
- PySpark (Python)
- Spark (Scala)
- Spark SQL
- SparkR
Język podstawowy dla nowych dodanych komórek można ustawić z listy rozwijanej na górnym pasku poleceń.
Używanie wielu języków
Można używać wielu języków w notesie, określając magiczną komendę języka na początku komórki. Możesz również przełączyć język komórek za pomocą selektora języka. W poniższej tabeli wymieniono magiczne polecenia przełączania języków komórek.
Polecenie Magiczne | Język | Opis |
---|---|---|
%%pyspark | Pyton | Wykonaj zapytanie w języku Python względem kontekstu platformy Apache Spark. |
%%spark | Skala | Wykonaj zapytanie Scala względem kontekstu platformy Apache Spark. |
%%sql | SparkSQL | Wykonaj zapytanie SparkSQL względem kontekstu platformy Apache Spark. |
%%html | Html | Wykonaj n zapytanie HTML względem kontekstu platformy Apache Spark. |
%%sparkr | R | Wykonaj zapytanie języka R względem kontekstu platformy Apache Spark. |
IntelliSense w stylu IDE
Notatniki Fabric są zintegrowane z edytorem Monaco w celu wprowadzenia funkcji IntelliSense w stylu IDE do edytora komórek. Wyróżnianie składni, znacznik błędów i automatyczne uzupełnianie kodu ułatwia szybkie pisanie kodu i identyfikowanie problemów.
Funkcje IntelliSense mają różne poziomy dojrzałości w różnych językach. W poniższej tabeli przedstawiono obsługę usługi Fabric:
Języki | Wyróżnianie składni | Znacznik błędu składniowego | Uzupełnianie kodu składniowego | Uzupełnianie kodu dla zmiennych | Uzupełnianie kodu funkcji systemu | Uzupełnianie kodu funkcji użytkownika | Inteligentne wcięcie | Zwijanie kodu |
---|---|---|---|---|---|---|---|---|
PySpark (Python) | Tak | Tak | Tak | Tak | Tak | Tak | Tak | Tak |
Pyton | Tak | Tak | Tak | Tak | Tak | Tak | Tak | Tak |
Spark (Scala) | Tak | Tak | Tak | Tak | Tak | Tak | Tak | Tak |
SparkSQL | Tak | Tak | Tak | Tak | Tak | Nie | Tak | Tak |
SparkR | Tak | Tak | Tak | Tak | Tak | Tak | Tak | Tak |
Język T-SQL | Tak | Tak | Tak | Nie | Tak | Tak | Tak | Tak |
Uwaga
Aby korzystać z uzupełniania kodu IntelliSense, musisz mieć aktywną sesję platformy Apache Spark.
Ulepszanie programowania w języku Python za pomocą rozwiązania Pylance
Uwaga
Obecnie funkcja jest dostępna w wersji zapoznawczej.
Pylance, zaawansowany i bogaty w funkcje serwer językowy, jest teraz dostępny w notebooku Fabric. Rozwiązanie Pylance ułatwia programowanie w języku Python dzięki inteligentnym uzupełnianiom, lepszemu wykrywaniu błędów i ulepszonym analizom kodu. Kluczowe ulepszenia obejmują inteligentniejsze autouzupełnianie, ulepszoną obsługę funkcji lambda, sugestie parametrów, ulepszone informacje po najechaniu kursorem, lepsze renderowanie docstringów i wyróżnianie błędów. Dzięki funkcji Pylance pisanie kodu python i PySpark staje się szybsze, dokładniejsze i bardziej wydajne.
Fragmenty kodu
Notesy Fabric udostępniają fragmenty kodu, które ułatwiają pisanie często używanych wzorców kodu, takich jak:
- Odczytywanie danych jako DataFrame w Apache Spark
- Rysowanie wykresów za pomocą Matplotlib
Fragmenty pojawiają się w skrótach klawiszowych w stylu IDE IntelliSense zmieszane z innymi sugestiami. Zawartość wycinka kodu jest zgodna z językiem komórki kodu. Dostępne fragmenty kodu można zobaczyć, wpisując fragment kodu. Możesz również wpisać dowolne słowo kluczowe, aby wyświetlić listę odpowiednich fragmentów kodu. Jeśli na przykład wpiszesz odczyt, zostanie wyświetlona lista fragmentów kodu do odczytu danych z różnych źródeł danych.
Przeciągnij i upuść, aby wstawić fragmenty kodu
Użyj przeciągania i upuszczania, aby wygodnie odczytywać dane z eksploratora Lakehouse. Tutaj obsługiwanych jest wiele typów plików; można wykonywać operacje na plikach tekstowych, tabelach, obrazach itp. Możesz przerzucić do istniejącej komórki albo do nowej komórki. Notebook generuje fragment kodu w celu podglądu danych.
Przeciągnij i upuść, aby wstawić obrazy
Użyj funkcji „przeciągnij i upuść”, aby łatwo wstawiać obrazy z przeglądarki lub komputera lokalnego do komórki markdown.
Formatowanie komórki tekstowej za pomocą przycisków paska narzędzi
Aby ukończyć typowe akcje markdown, użyj przycisków formatowania na pasku narzędzi komórki tekstu.
Cofnij lub przywróć operacje komórek
Wybierz Cofnij lub Wykonaj ponownie, albo naciśnij Z lub Shift+Z, aby cofnąć najnowsze operacje w komórkach. Możesz cofnąć lub ponownie wykonać maksymalnie 10 najnowszych operacji na komórkach.
Obsługiwane operacje cofania dla komórek:
- Wstaw lub usuń komórkę. Możesz przywrócić usunięte operacje, wybierając pozycję Cofnij (zawartość tekstowa jest zachowywana wraz z komórką).
- Zmień kolejność komórki.
- Przełącz parametr.
- Przekonwertuj między komórką kodu a komórką języka Markdown.
Uwaga
Operacje na tekście w komórkach i operacje komentowania komórek kodu nie mogą być cofnięte. Możesz cofnąć lub ponownie wykonać maksymalnie 10 najnowszych operacji na komórkach.
Przenoszenie komórki
Możesz przeciągnąć z pustej części komórki i upuścić ją do wybranej pozycji.
Możesz również przenieść wybraną komórkę za pomocą polecenia Przenieś w górę i Przenieś w dół na wstążce.
Usuwanie komórki
Aby usunąć komórkę, wybierz przycisk usuń po prawej stronie komórki.
Możesz również użyć skrótów klawiszowych w trybie polecenia. Naciśnij Shift+D, aby usunąć bieżącą komórkę.
Zwiń wejście komórki
Wybierz ikonę wielokropka Więcej poleceń (...) na pasku narzędzi komórki i Ukryj wejście, aby ukryć wejście bieżącej komórki. Aby rozwinąć ją ponownie, wybierz pozycję Pokaż dane wejściowe gdy komórka jest zwinięta.
Zwiń wyjście komórki
Wybierz opcję Więcej poleceń (...) na pasku narzędzi komórki i Ukryj dane wyjściowe, aby zwinąć dane wyjściowe bieżącej komórki. Aby ponownie rozwinąć dane wyjściowe, wybierz pozycję Pokaż dane wyjściowe gdy dane wyjściowe są zwinięte.
Zabezpieczenie wyjścia komórki
Za pomocą ról dostępu do danych usługi OneLake (wersja zapoznawcza) użytkownicy mogą konfigurować dostęp tylko do określonych folderów w lakehouse podczas wykonywania zapytań notebooka. Użytkownicy bez dostępu do folderu lub tabeli widzą nieautoryzowany błąd podczas wykonywania zapytania.
Ważne
Zabezpieczenia mają zastosowanie tylko podczas wykonywania zapytania, a wszystkie komórki notesu zawierające wyniki zapytania mogą być wyświetlane przez użytkowników, którzy nie mają autoryzacji do bezpośredniego uruchamiania zapytań względem danych.
Blokowanie lub zamrażanie komórki
Operacje blokowania i zamrażania komórek umożliwiają ustawianie komórek jako tylko do odczytu lub uniemożliwiają wykonanie komórek kodu indywidualnie.
Scalanie i dzielenie komórek
Możesz użyć opcji Scal z poprzednią komórką lub Scal z następną komórką, aby wygodnie scalić powiązane komórki.
Wybranie Podziel komórkę pomaga podzielić nieistotne stwierdzenia na wiele komórek. Operacja dzieli kod zgodnie z położeniem wiersza kursora.
Zawartość notatnika
Wybranie opcji Konspekt lub Spis treści spowoduje wyświetlenie pierwszego nagłówka markdown z dowolnej komórki markdown w oknie bocznym dla szybkiej nawigacji. Pasek boczny Kontury można zmieniać rozmiar i zwijać, aby jak najlepiej dopasować do ekranu. Wybierz przycisk Zawartość na pasku poleceń notesu, aby otworzyć lub ukryć pasek boczny.
Zwijanie markdown
Opcja zwijania markdown umożliwia ukrywanie komórek znajdujących się pod komórką markdown, która zawiera nagłówek. Komórka markdown i jej ukryte komórki są traktowane tak samo jak zestaw ciągłych wielokrotnie zaznaczonych komórek podczas wykonywania operacji na komórkach.
Znajdź i zamień
Opcja znajdź i zamień może pomóc w dopasowaniu i zlokalizowaniu słów kluczowych lub wyrażeń w zawartości notesu. Można również łatwo zastąpić ciąg docelowy nowym ciągiem.
Uzupełnianie kodu w linii Copilot (wersja zapoznawcza)
Uzupełnianie kodu w linii przez Copilot to funkcja oparta na sztucznej inteligencji, która ułatwia szybsze i wydajniejsze pisanie kodu w języku Python w Fabric Notebooks. Ta funkcja zapewnia inteligentne, świadome kontekstu sugestie kodu podczas jego pisania. Zmniejsza powtarzające się zadania, minimalizuje błędy składniowe i przyspiesza programowanie dzięki bezproblemowej integracji z przepływem pracy notesu.
Najważniejsze korzyści
- Uzupełnianie oparte na sztucznej inteligencji: Generuje sugestie na podstawie kontekstu notesu przy użyciu modelu wytrenowanego na milionach wierszy kodu.
- Zwiększa produktywność: Ułatwia pisanie złożonych funkcji, zmniejsza powtarzalne kodowanie i przyspiesza eksplorację nieznanych bibliotek.
- Zmniejsza błędy: Minimalizuje błędy pisowni i składni dzięki inteligentnym uzupełnianiom obsługującym kontekst.
- Minimalna konfiguracja: Wbudowane w notatniki Fabric, nie wymaga żadnej instalacji. Możesz ją włączyć i rozpocząć kodowanie.
Jak to działa
Włącz sugestie dotyczące kodu wbudowanego za pomocą przełącznika na dole notatnika. Podczas wpisywania sugestie są wyświetlane w jasnoszarym tekście, naciśnij Tab, aby zaakceptować lub zmodyfikować. Sugestie są oparte na poprzednich komórkach notesu.
Uwaga
Włączenie wbudowanego uzupełniania kodu przez Copilot spowoduje zużycie dodatkowych jednostek pojemności.
Bieżące ograniczenia
- Obecnie funkcja uzupełniania kodu Copilot Inline Code Completion obsługuje język Python, korzystając z kontekstu poprzednich komórek i schematów Lakehouse.
- Sugestie uwzględniają dane ze schematów Lakehouse.
- W przypadku wielu tabel lub kolumn jest używany tylko podzbiór elementów schematu.
- Tabele tworzone dynamicznie (za pośrednictwem platformy Spark) nie są rozpoznawane w czasie rzeczywistym.
Uruchamianie notatników
Komórki kodu można uruchamiać pojedynczo lub jednocześnie w notesie. Stan i postęp każdej komórki są wyświetlane w notesie.
Uruchom komórkę
Istnieje kilka sposobów uruchamiania kodu w komórce.
Zatrzymaj wskaźnik myszy na komórce, którą chcesz uruchomić, i wybierz przycisk Uruchom komórkę lub naciśnij Ctrl+Enter.
Użyj skrótów w trybie poleceń. Naciśnij Shift+Enter , aby uruchomić bieżącą komórkę i wybrać następną komórkę. Naciśnij Alt+Enter , aby uruchomić bieżącą komórkę i wstawić nową komórkę.
Uruchamianie wszystkich komórek
Wybierz przycisk Uruchom wszystko, aby uruchomić wszystkie komórki w bieżącym notesie w kolejności.
Uruchom wszystkie komórki znajdujące się powyżej lub poniżej
Rozwiń listę rozwijaną od pozycji Uruchom wszystko, a następnie wybierz Uruchom komórki powyżej, aby uruchomić wszystkie komórki powyżej aktualnej komórki w kolejności. Wybierz Uruchom komórki poniżej, aby uruchomić bieżącą komórkę i wszystkie komórki poniżej w kolejności.
Anuluj wszystkie uruchomione komórki
Wybierz Anuluj wszystko, aby anulować uruchomione komórki lub komórki oczekujące w kolejce.
Zatrzymywanie sesji
Zatrzymaj sesję anuluje uruchomione i oczekujące procesy i zatrzymuje bieżącą sesję. Możesz ponownie uruchomić nową sesję, wybierając ponownie opcję uruchamiania.
Bieg odniesienia
Uruchomienie referencyjnego notebooka
Oprócz interfejsu API uruchamiania odniesień notebookutils, można również użyć komendy magic do odniesienia się do innego notesu w kontekście bieżącego notesu. Wszystkie zmienne zdefiniowane w notesie odniesienia są dostępne w bieżącym notesie. Polecenie magiczne %run
obsługuje zagnieżdżone wywołania, ale nie obsługuje wywołań rekurencyjnych. Otrzymasz wyjątek, jeśli głębokość instrukcji jest większa niż pięć.
Przykład: %run Notebook1 { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }
.
Notatnik działa zarówno w trybie interaktywnym, jak i przetwarzania potokowego.
Uwaga
- Polecenie
%run
obsługuje obecnie tylko notesy referencyjne w tym samym obszarze roboczym z bieżącym notesem. - Polecenie
%run
obsługuje obecnie tylko do czterech typów wartości parametrów:int
, ,float
bool
istring
. Operacja zamiany zmiennej nie jest obsługiwana. - Polecenie
%run
nie obsługuje zagnieżdżonych odwołań o głębokości większej niż pięć.
Odwołaj się do uruchomienia skryptu
Polecenie %run
umożliwia również uruchamianie plików języka Python lub SQL przechowywanych we wbudowanych zasobach notesu, dzięki czemu możesz wygodnie wykonywać pliki kodu źródłowego w notesie.
%run [-b/--builtin -c/--current] [script_file.py/.sql] [variables ...]
Opcje:
- -b/--builtin: Opcja ta wskazuje, że polecenie znajduje i uruchamia określony plik skryptu z wbudowanych zasobów notebooka.
- -c/--current: Ta opcja gwarantuje, że polecenie zawsze używa wbudowanych zasobów bieżącego notesu, nawet jeśli bieżący notes jest przywoływany przez inne notesy.
Przykłady:
Aby uruchomić script_file.py z wbudowanych zasobów:
%run -b script_file.py
Aby uruchomić script_file.sql z wbudowanych zasobów:
%run -b script_file.sql
Aby uruchomić script_file.py z zasobów wbudowanych z określonymi zmiennymi:
%run -b script_file.py { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }
Uwaga
Jeśli polecenie nie zawiera -b/--builtin, próbuje znaleźć i wykonać element notatnika w tym samym obszarze roboczym, zamiast w zasobach wbudowanych.
Przykład użycia dla zagnieżdżonego scenariusza testowego:
- Załóżmy, że mamy dwa notesy.
- Notebook1: zawiera script_file1.py we wbudowanych zasobach
- Notebook2: zawiera script_file2.py we wbudowanych zasobach
- Użyjmy Notebook1 jako notesu głównego z zawartością:
%run Notebook2
. - Następnie w notesie Notebook2 instrukcja dotycząca użycia jest następująca:
- Aby uruchomić script_file1.py w Notebook1 (główny notes), kod będzie:
%run -b script_file1.py
- Aby uruchomić script_file2.py w Notebook2(aktualny notes), kod będzie:
%run -b -c script_file2.py
- Aby uruchomić script_file1.py w Notebook1 (główny notes), kod będzie:
Eksplorator zmiennych
Notatniki Fabric udostępniają wbudowanego eksploratora zmiennych, który wyświetla listę nazw zmiennych, typów, długości i wartości w bieżącej sesji Spark dla komórek PySpark (Python). Więcej zmiennych jest wyświetlanych automatycznie w miarę ich definiowania w komórkach kodu. Kliknięcie każdego nagłówka kolumny sortuje zmienne w tabeli.
Aby otworzyć lub ukryć eksploratora zmiennych, wybierz opcję Zmienne na wstążce notesu w zakładce Widok.
Uwaga
Eksplorator zmiennych obsługuje tylko język Python.
Wskaźnik stanu komórki
Status wykonywania komórki krok po kroku jest wyświetlany pod komórką, aby pomóc Ci zobaczyć jego bieżący postęp. Po zakończeniu przebiegu komórki zostanie wyświetlone podsumowanie wykonania z łącznym czasem trwania i czasem zakończenia, które zostanie zapisane do archiwum.
Wskaźnik stanu sesji
Konfiguracja limitu czasu sesji
W lewym dolnym rogu możesz wybrać stan sesji, aby uzyskać więcej informacji na temat bieżącej sesji:
W oknie podręcznym jest dostępna opcja zresetowania limitu czasu do określonej liczby minut lub godzin.
Wybierz, jak długo chcesz nieprzerwanej sesji i wybierz pozycję Zastosuj. Czas wygaśnięcia sesji resetuje się z nową wartością i jesteś gotowy do działania!
Możesz również ustawić limit czasu zgodnie z opisem:
- Ustawienia administracyjne obszaru roboczego inżynierii danych w usłudze Microsoft Fabric
- Polecenie magic konfiguracji sesji platformy Spark
Nie wyloguj się: Jeśli podczas logowania zostanie wyświetlone okno dialogowe Nie wylogowuj się, wybierz pozycję Tak , aby dezaktywować limit czasu bezczynności sesji dla bieżącej sesji.
Ważne
Nie zaznaczaj pola wyboru Nie pokazuj tego ponownie , ponieważ spowoduje to trwałe zablokowanie ustawień logowania. Pamiętaj, że ta opcja może nie być wyświetlana, jeśli administrator dzierżawy wyłączył ustawienie Nie wylogowuj mnie (KMSI).
Zażądaj zmiany zasad: Jeśli potrzebujesz dłuższego czasu trwania sesji, poproś administratora dzierżawy o przedłużenie zasad czasu trwania sesji bezczynności. Mogą to zrobić, przechodząc do pozycji Ustawienia > organizacji Zabezpieczenia i prywatność > Limit czasu bezczynności sesji w centrum administracyjnym M365.
Uwaga
Wybranie usługi KMSI i/lub wydłużenie limitu czasu trwania sesji bezczynności spowoduje wydłużenie ryzyka uzyskania dostępu do odblokowanej maszyny.
Jak ABT i limit czasu bezczynności sesji wpływają na długotrwałe uruchamianie notatnika Fabric?
Jeśli najemca korzysta z limitu czasu opartego na działaniach (ABT), długotrwałe zadania interakcyjne w notesach Fabric mogą być wpływane przez polityki limitu czasu bezczynności sesji platformy Microsoft 365. Ta funkcja zabezpieczeń została zaprojektowana tak, aby wylogowywać użytkowników na nieaktywnych, niezarządzanych urządzeniach, nawet jeśli zadanie w notatniku jest nadal uruchomione. Podczas gdy działania w innych aplikacjach platformy Microsoft 365 mogą utrzymać sesję aktywną, bezczynne urządzenia są wylogowywane zgodnie z zamierzeniem.
Dlaczego użytkownicy są wylogowani nawet wtedy, gdy zadanie notatnika jest w trakcie wykonywania?
Limit czasu bezczynności sesji określa priorytety zabezpieczeń, kończąc sesje na nieaktywnych urządzeniach, aby zapobiec nieautoryzowanemu dostępowi. Nawet jeśli wykonywanie notesu jest w toku, sesja kończy się, jeśli urządzenie nie wyświetla żadnych działań. Utrzymywanie otwartych sesji na urządzeniach bezczynnych spowodowałoby naruszenie zabezpieczeń, dlatego bieżące zachowanie jest wymuszane.
Wskaźnik zadań Apache Spark w linii
Fabric notebook jest oparty na Apache Spark. Komórki kodu są wykonywane zdalnie w klastrze Apache Spark. Wskaźnik postępu zadania platformy Spark jest dostarczany z paskiem postępu w czasie rzeczywistym, który ułatwia zrozumienie stanu wykonywania zadania. Liczba zadań przypadających na każde zadanie lub etap pomaga zidentyfikować stopień równoległości w pracy Spark. Możesz również przejść do szczegółów interfejsu użytkownika platformy Spark określonego zadania (lub etapu), wybierając link w nazwie zadania (lub etapu).
Możesz również znaleźć dziennik w czasie rzeczywistym na poziomie komórki obok wskaźnika postępu, a moduł diagnostyki może zapewnić przydatne sugestie ułatwiające ulepszanie i debugowanie kodu.
W obszarze Więcej akcji można łatwo przejść do strony szczegółów aplikacji platformy Spark i strony internetowego interfejsu użytkownika platformy Spark.
Redakcja tajna
Aby zapobiec przypadkowemu wyciekowi poświadczeń podczas uruchamiania notesów, notesy Fabric obsługują redakcję tajemnic, aby zastąpić wartości tych tajemnic wyświetlanych w danych wyjściowych komórki za pomocą [REDACTED]
. Redagowanie wpisów tajnych ma zastosowanie w przypadku języków Python, Scala i R.
Polecenia magiczne w notatniku
Wbudowane polecenia magiczne
w Notesach Fabric można używać znanych poleceń magicznych IPython. Przejrzyj poniższą listę aktualnie dostępnych poleceń magic.
Uwaga
Są to jedyne polecenia magiczne obsługiwane w potoku Fabric: %%pyspark, %%spark, %%csharp, %%sql, %%configure.
Dostępne polecenia magic wiersza: %lsmagic, %time, %timeit, %history, %run, %load, %alias, %alias_magic, %autoawait, %autocall, %automagic, %bookmark, %cd, %colors, %dhist, %dirs, %doctest_mode, %killbgscripts, %load_ext, %logoff, %logon, %logstart, %logstate, %logstop, %magic, %matplotlib, %page, %pastebin, %pdef, %pfile, %pinfo, %pinfo2, %popd, %pprint, %precision, %prun, %psearch, %psource, %pushd, %pwd, %pycat, %quickref, %rehashx, %reload_ext, %reset, %reset_selective, %sx, %system, %tb, %unalias, %unload_ext, %who, %who_ls, %whos, %xdel, %xmode.
Notes typu Fabric obsługują również ulepszone polecenia zarządzania bibliotekami %pip i %conda. Aby uzyskać więcej informacji na temat użycia, zobacz Zarządzanie bibliotekami platformy Apache Spark w usłudze Microsoft Fabric.
Dostępne polecenia magii komórek: %%time, %%timeit, %%capture, %%writefile, %%sql, %%pyspark, %%spark, %%csharp, %%configure, %%html, %%bash, %%markdown, %%perl, %%script, %%sh.
Niestandardowe polecenia magiczne
Możesz również utworzyć więcej niestandardowych poleceń magicznych, aby spełnić określone potrzeby. Oto przykład:
Utwórz notatnik o nazwie "MyLakehouseModule".
W innym notatniku odwołaj się do "MyLakehouseModule" i jego poleceń magicznych. Ten proces umożliwia wygodne organizowanie projektu za pomocą notesów korzystających z różnych języków.
Widżety IPython
Widżety IPython to dynamiczne obiekty języka Python, które mają reprezentację w przeglądarce. Widżety IPython można używać jako kontrolek z małą ilością kodu (na przykład suwaka lub pola tekstowego) w notesie, podobnie jak notes Jupyter. Obecnie działa tylko w kontekście języka Python.
Aby użyć widgetów IPython
Najpierw zaimportuj moduł ipywidgets , aby użyć struktury widżetu Jupyter.
import ipywidgets as widgets
Użyj funkcji wyświetlania najwyższego poziomu, aby renderować widżet, lub umieść wyrażenie typu widget na ostatniej linii komórki kodu.
slider = widgets.IntSlider() display(slider)
Uruchom komórkę. Widżet zostanie wyświetlony w obszarze danych wyjściowych.
slider = widgets.IntSlider() display(slider)
Użyj wielu wywołań display(), aby wielokrotnie renderować to samo wystąpienie widżetu. Pozostają one zsynchronizowane ze sobą.
slider = widgets.IntSlider() display(slider) display(slider)
Aby renderować dwa widżety niezależnie od siebie, utwórz dwa wystąpienia widżetów:
slider1 = widgets.IntSlider() slider2 = widgets.IntSlider() display(slider1) display(slider2)
Obsługiwane widżety
Typ widżetów | Widżety |
---|---|
Widżety liczbowe | IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText |
Widżety logiczne | Przełącznik, pole wyboru, ważny |
Widżety wyboru | Lista rozwijana, Przycisk wyboru, Wybierz, Suwak wyboru, Suwak zakresu wyboru, Przyciski przełączające, Wybierz wiele |
Widżety tekstowe | Tekst, obszar tekstowy, pole wyboru, hasło, etykieta, HTML, HTML Matematyka, obraz, przycisk |
Widżety odtwarzania (animacja) | Selektor dat, selektor kolorów, kontroler |
Widżety kontenerowe lub układowe | Skrzynka, Skrzynka pozioma, Skrzynka pionowa, Skrzynka siatkowa, Akordeon, Zakładki, Stosowane |
Znane ograniczenia
Następujące widżety nie są jeszcze obsługiwane. Dostępne są następujące obejścia:
Funkcjonalność Obejście problemu Widżet danych wyjściowych Zamiast tego możesz użyć funkcji print(), aby zapisać tekst w obiekcie stdout. widgets.jslink() Możesz użyć funkcji widgets.link(), aby połączyć dwa podobne widżety. Widżet FileUpload Jeszcze nieobsługiwane. Globalna funkcja wyświetlania Fabric nie obsługuje wyświetlania wielu widżetów w jednym wywołaniu (na przykład display(a, b)). To zachowanie różni się od funkcji display IPython.
Jeśli zamkniesz notes zawierający widżet IPython, nie będziesz mógł go zobaczyć ani wchodzić z nim w interakcję, dopóki ponownie nie wykonasz odpowiedniej komórki.
Funkcja interact (ipywidgets.interact) nie jest obsługiwana.
Zintegrować notatnik
Wyznacz komórkę parametrów
Aby parametryzować notes, wybierz wielokropek (...), aby uzyskać dostęp do poleceń Więcej na pasku narzędzi komórki. Następnie wybierz Przełącz komórkę parametrów, aby oznaczyć komórkę jako komórkę parametrów.
Komórka parametrów jest przydatna do integrowania notatnika w ramach potoku. Działanie przepływu poszukuje komórki parametrów i traktuje tę komórkę jako domyślną dla parametrów przekazywanych w momencie wykonywania. Aparat wykonawczy dodaje nową komórkę poniżej komórki parametrów z wejściowymi parametrami, aby zastąpić wartości domyślne.
Przypisz wartości parametrów z potoku
Po utworzeniu notatnika z parametrami, można go wykonać z rurociągu za pomocą aktywności Fabric. Po dodaniu aktywności do obszaru roboczego potoku, można ustawić wartości parametrów w sekcji Podstawowe parametry karty Ustawienia.
Podczas przypisywania wartości parametrów można użyć języka wyrażeń potoku lub funkcji i zmiennych.
Polecenie specjalne konfiguracji sesji Spark
Sesję platformy Spark można spersonalizować za pomocą polecenia magic %%configure. Notes Fabric obsługują dostosowanie vCores, pamięci dla Driver i Executor, właściwości Apache Spark, punkty montowania, pule, oraz domyślny lakehouse dla sesji notatnika. Mogą być używane zarówno w działaniach zeszytu interaktywnego, jak i zeszytu procesu. Zalecamy uruchomienie polecenia %%configure na początku notesu lub ponowne uruchomienie sesji platformy Spark, aby ustawienia zaczęły obowiązywać.
%%configure
{
// You can get a list of valid parameters to config the session from https://github.com/cloudera/livy#request-body.
"driverMemory": "28g", // Recommended values: ["28g", "56g", "112g", "224g", "400g"]
"driverCores": 4, // Recommended values: [4, 8, 16, 32, 64]
"executorMemory": "28g",
"executorCores": 4,
"jars": ["abfs[s]: //<file_system>@<account_name>.dfs.core.windows.net/<path>/myjar.jar", "wasb[s]: //<containername>@<accountname>.blob.core.windows.net/<path>/myjar1.jar"],
"conf":
{
// Example of customized property, you can specify count of lines that Spark SQL returns by configuring "livy.rsc.sql.num-rows".
"livy.rsc.sql.num-rows": "3000",
"spark.log.level": "ALL"
},
"defaultLakehouse": { // This 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>"
},
],
"environment": {
"id": "<environment-id>",
"name": "<environment-name>"
},
"sessionTimeoutInSeconds": 1200,
"useStarterPool": false, // Set to true to force using starter pool
"useWorkspacePool": "<workspace-pool-name>"
}
Uwaga
- Zalecamy ustawienie tej samej wartości dla parametrów "DriverMemory" i "ExecutorMemory" w elemocie %%configure. Wartości "driverCores" i "executorCores" również powinny być takie same.
- Element "defaultLakehouse" zastąpi przypięty Lakehouse w Eksploratorze Lakehouse, ale będzie działać tylko podczas aktualnej sesji notatnika.
- Można używać %%configure w potokach Fabric, ale jeśli nie są one ustawione w pierwszej komórce kodu, uruchomienie potoku zakończy się niepowodzeniem z powodu niemożności ponownego uruchomienia sesji.
- Narzędzie %%configure używane w notebookutils.notebook.run zostanie zignorowane, natomiast to używane w %run notebook będzie dalej działać.
- Standardowe właściwości konfiguracji platformy Spark muszą być używane w treści "conf". Platforma nie obsługuje referencji pierwszego poziomu dla właściwości konfiguracji Spark.
- Niektóre specjalne właściwości platformy Spark, w tym "spark.driver.cores", "spark.executor.cores", "spark.driver.memory", "spark.executor.memory" i "spark.executor.instances" nie mają zastosowania w sekcji "conf".
Konfiguracja sparametryzowanej sesji w potoku
Parametryzowana konfiguracja sesji pozwala na zastąpienie wartości w magicznej konfiguracji %%configure, używając parametrów aktywności notesu uruchamianego w potoku. Podczas przygotowywania komórki kodu %%configure można zastąpić wartości domyślne (również konfigurowalne, 4 i "2000" w poniższym przykładzie) za pomocą obiektu w następujący sposób:
{
"parameterName": "paramterNameInPipelineNotebookActivity",
"defaultValue": "defaultValueIfNoParamterFromPipelineNotebookActivity"
}
%%configure
{
"driverCores":
{
"parameterName": "driverCoresFromNotebookActivity",
"defaultValue": 4
},
"conf":
{
"livy.rsc.sql.num-rows":
{
"parameterName": "rows",
"defaultValue": "2000"
}
}
}
Notatnik używa wartości domyślnej, jeśli uruchamiasz notatnik w trybie interaktywnym bezpośrednio lub jeśli akcja notatnika w potoku nie dostarcza parametru odpowiadającego "activityParameterName".
Podczas uruchamiania potoku można skonfigurować ustawienia aktywności notatnika potoku w następujący sposób:
Jeśli chcesz zmienić konfigurację sesji, nazwa parametrów aktywności notebooka powinna być taka sama jak parameterName
w zeszycie. W tym przykładzie uruchamiania potoku, driverCores
w %%configure zostają zastąpione przez 8, a livy.rsc.sql.num-rows
przez 4000.
Uwaga
- Jeśli uruchomienie zestawu danych zakończy się niepowodzeniem, ponieważ użyto magicznego polecenia %%configure, znajdź więcej informacji o błędzie, uruchamiając komórkę %%configure magic w trybie interaktywnym notatnika.
- Zaplanowane uruchomienia notatnika nie wspierają sparametryzowanej konfiguracji sesji.
Rejestrowanie w języku Python w notatniku
Dzienniki języka Python można znaleźć i ustawić różne poziomy dziennika i format, takie jak przykładowy kod pokazany tutaj:
import logging
# Customize the logging format for all loggers
FORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
formatter = logging.Formatter(fmt=FORMAT)
for handler in logging.getLogger().handlers:
handler.setFormatter(formatter)
# Customize log level for all loggers
logging.getLogger().setLevel(logging.INFO)
# Customize the log level for a specific logger
customizedLogger = logging.getLogger('customized')
customizedLogger.setLevel(logging.WARNING)
# logger that use the default global log level
defaultLogger = logging.getLogger('default')
defaultLogger.debug("default debug message")
defaultLogger.info("default info message")
defaultLogger.warning("default warning message")
defaultLogger.error("default error message")
defaultLogger.critical("default critical message")
# logger that use the customized log level
customizedLogger.debug("customized debug message")
customizedLogger.info("customized info message")
customizedLogger.warning("customized warning message")
customizedLogger.error("customized error message")
customizedLogger.critical("customized critical message")
Wyświetlanie historii poleceń wejściowych
Notatnik Fabric obsługuje polecenie magiczne %history
, aby wydrukować historię wprowadzonych poleceń wykonywanych w bieżącej sesji, w porównaniu do standardowego polecenia Jupyter Ipython %history
, które działa w kontekście wielu języków w notatniku.
%history [-n] [range [range ...]]
Opcje:
- -n: Numer wykonania wydruku.
Gdzie zakres może być:
- N: Drukuj kod n-tej wykonanej komórki.
- M-N: Drukuj kod z komórki M-tej do N-tej wykonanej.
Przykład:
- Drukuj historię danych wejściowych od pierwszej do drugiej wykonanej komórki:
%history -n 1-2
Klawisze skrótów
Podobnie jak w przypadku notatników Jupyter, notatniki Fabric mają interfejs użytkownika w trybie modalnym. Klawiatura wykonuje różne czynności w zależności od trybu, w jakim znajduje się komórka notatnika. Notatniki Fabric obsługują następujące dwa tryby dla danej komórki kodu: tryb poleceń i tryb edycji.
Komórka jest w trybie poleceń, gdy nie ma kursora tekstu zachęcającego do wpisania. Gdy komórka jest w trybie polecenia, możesz edytować cały notatnik, ale nie wpisywać do poszczególnych komórek. Wprowadź tryb poleceń, naciskając ESC lub używając myszy, aby wybrać miejsce poza obszarem edytora komórki.
Tryb edycji można rozpoznać po kursorze tekstowym, który zachęca do wpisywania w obszarze edytora. Gdy komórka jest w trybie edycji, możesz wpisywać do komórki. Wprowadź tryb edycji, naciskając Enter lub używając myszy, aby wybrać obszar edytora komórki.
Klawisze skrótów w trybie polecenia
Akcja | Skróty klawiaturowe w notebooku |
---|---|
Uruchom bieżącą komórkę i wybierz opcję poniżej | Shift+Enter |
Uruchom bieżącą komórkę i wstaw poniżej | Alt+Enter |
Uruchom bieżącą komórkę | Ctrl+Enter |
Zaznacz komórkę powyżej | W górę |
Wybierz komórkę poniżej | w dół |
Wybierz poprzednią komórkę | K |
Wybierz następną komórkę | J |
Wstaw komórkę powyżej | A |
Wstaw komórkę poniżej | B |
Usuń zaznaczone komórki | Shift + D |
Przełącz do trybu edycji | Wejść |
Skróty klawiszowe w trybie edycji
Korzystając z poniższych skrótów klawiszowych, można łatwo nawigować i uruchamiać kod w notatnikach Fabric w trybie edycji.
Akcja | Skróty klawiaturowe w notebooku |
---|---|
Przenieś kursor w górę | W górę |
Przenieś kursor w dół | w dół |
Cofnąć | Ctrl + Z |
Przywróć | Ctrl + Y |
Komentarz lub usuń komentarz | Ctrl + / Komentarz: Ctrl + K + C Usuń komentarz: Ctrl + K + U |
Usuń słowo przed | Ctrl + Backspace |
Usuń wyraz po... | Ctrl + Delete |
Przejdź do początku komórki | Ctrl + Strona główna |
Przejdź do końca komórki | Ctrl + koniec |
Przejdź jedno słowo w lewo | Ctrl + Strzałka w lewo |
Przejdź o jedno słowo w prawo | Ctrl + w prawo |
Wybierz wszystko | Ctrl + A |
Wcięcie | Klawisz Ctrl + ] |
Usuń wcięcie | Ctrl + [ |
Przełączanie do trybu poleceń | Esc |
Aby znaleźć wszystkie skróty, wybierz pozycję Widok na wstążce notesu, a następnie wybierz pozycję Skróty klawiszowe.