Notatka
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.
Lakeflow Designer pozwala tworzyć niestandardowe operatory , które pojawiają się bezpośrednio na płótnie obok wbudowanych operatorów. Użyj ich, aby rozszerzyć Lakeflow Designer o własną logikę biznesową, obliczenia lub integracje. operatory niestandardowe wcześniej nazywano operatorami zdefiniowanymi przez użytkownika (UDO).
Operatorzy niestandardowi występują w dwóch zakresach:
- Lokalne: Operator należy do jednego pliku przygotowania danych wizualnych. Opisz transformację, a Genie Code generuje operatora. Zobacz Utwórz lokalny operator niestandardowy za pomocą Genie Code.
- Udostępnione: Operator jest zarejestrowany w workspace, więc Ty i inni użytkownicy możecie dodać go do dowolnego pliku przygotowania wizualnych danych. Jej logika to funkcja Python lub funkcja Unity Catalog, opisana w YAML. Napisz to sam lub poproś Genie Code, żeby to stworzył. Zobacz, jak działają niestandardowe operatory.
Stwórz lokalnego, niestandardowego operatora za pomocą Genie Code
Gdy Genie Code będzie dostępny w Twoim workspace, możesz utworzyć lokalny, niestandardowy operator na kanwie Lakeflow Designer:
W panelu Operatorzy wybierz Utwórz operator niestandardowy.
Wprowadź opis i, opcjonalnie, nazwę. Wybierz Wygeneruj podgląd.
Wskazówka
Na przykład wpisz następujący opis:
Count the business days between two date columns, excluding weekends. Let me choose the start and end date columns and name the output column.Przejrzyj wygenerowaną konfigurację i funkcję Python, następnie wybierz Zatwierdzenie i utwórz.
Designer przechowuje lokalną definicję operatora w aktualnym pliku i dodaje ją do panelu operatorów . Użyj menu akcji operatora, aby edytować lub usunąć definicję. Musisz usunąć każdą instancję operatora z płótna, zanim będziesz mógł usunąć jego definicję.
Wybierz typ współdzielonego operatora
Współdzielone operatory niestandardowe występują w trzech typach:
-
python-run-function: samodzielny plik YAML z osadzonym kodem Python, przechowywany w obszarze roboczym. Najlepsze w przypadku przekształceń na poziomie ramki danych i integracji zewnętrznych. Uprawnienia są zarządzane na poziomie pliku obszaru roboczego. -
uc-udf: Hermetyzuje funkcję skalarną Unity Catalog. Najlepsze w przypadku przekształceń na poziomie kolumny. Dostęp jest kontrolowany przez uprawnienia Unity Catalog. -
uc-udtf: Opakowuje funkcję zwracającą tabelę w Unity Catalog. Najlepsze w przypadku przekształceń na poziomie tabeli, takich jak klastrowanie uczenia maszynowego i agregacja. Dostęp jest kontrolowany przez uprawnienia Unity Catalog.
| Funkcja | python-run-function |
uc-udf |
uc-udtf |
|---|---|---|---|
| Przykładowy przypadek użycia | Przekształcenia ramki danych, integracje interfejsu API, powiadomienia e-mail | Obliczenia na poziomie kolumn (BMI, stopy procentowe) | Klaster uczenia maszynowego, agregacja między wierszami |
| Dane wejściowe | Ramki danych | Pojedyncze wartości | Cała tabela, wiersz według wiersza |
| Output | Ramki danych | Pojedyncza wartość | Tabela (wiele wierszy) |
| Wymaga funkcji Unity Catalog | No | Yes | Yes |
| Zarządzanie dostępem | Uprawnienia do pliku obszaru roboczego | Uprawnienia Unity Catalog (EXECUTE, USE SCHEMA) |
Uprawnienia Unity Catalog (EXECUTE, USE SCHEMA) |
| Obsługiwane języki | Tylko język Python | SQL lub Python w otoczce SQL | SQL lub Python w otoczce SQL |
Jak działają operatorzy niestandardowi
Współdzielony operator niestandardowy składa się z:
-
Logika operatora: kod uruchamiany po wykonaniu operatora. Jest to funkcja inline Python
run()dlapython-run-functionoperatorów lub funkcja katalogu Unity dlauc-udfoperatorów iuc-udtfoperatorów. Zobacz Pisanie logiki dla operatorów niestandardowych Lakeflow Designer. -
Konfiguracja YAML: informuje projektanta Lakeflow, jak przedstawić operator w interfejsie użytkownika, w tym nazwę operatora, opis, parametry wejściowe, widżety interfejsu użytkownika i porty. Wszystkie typy operatorów używają schematu
custom-operator-v0.1.0. Dla operatorapython-run-functionYAML to samodzielny plik przestrzeni roboczej, który zawiera również kod wbudowany. Dla funkcji Unity Catalog YAML jest osadzony w treści funkcji. Zobacz odwołanie do niestandardowego operatora YAML. -
Plik rejestracji: wpis umożliwiający
.custom_operators.yamlprojektantowi Lakeflow odnajdywanie operatora. Zobacz Zarejestruj i wdroż swojego operatora w Lakeflow Designer.
Utwórz operator współdzielony
Aby zbudować własny operator współdzielony od początku do końca:
- Wybierz typ operatora. Zobacz Wybór współdzielonego typu operatora.
- Napisz i przetestuj logikę operatorów. Zobacz Jak pisać logikę dla niestandardowych operatorów Lakeflow Designer.
- Opisz operatora w YAML: jego nazwę, właściwości konfiguracyjne, widżety UI oraz porty. Zobacz dokumentację referencyjną niestandardowego operatora YAML.
-
Zarejestruj operator: Dodaj go do
.custom_operators.yaml. Zobacz Zarejestruj i wdroż swojego operatora w Lakeflow Designer. - Przyznaj uprawnienia , aby inni użytkownicy mogli odnaleźć i uruchomić operatora. Zobacz Uprawnienia.
- Użyj operatora. Pojawia się w panelu Operators w Lakeflow Designer, obok wbudowanych operatorów.
Każdy samouczek omawia te kroki dla jednego kompletnego operatora.
Wskazówka
Aby utworzyć współdzielony python-run-function operator bez konieczności samodzielnego pisania, opisz go w Genie Code w bocznym panelu. Genie Code pyta, czy zarejestrować operatora dla ciebie, czy dla całej przestrzeni roboczej, a następnie zapisuje plik YAML i rejestruje operatora. Nadal musisz przyznawać uprawnienia innym użytkownikom.
Rejestrowanie i wdrażanie operatora w usłudze Lakeflow Designer
Aby operator pojawił się w Lakeflow Designer, zarejestruj go w pliku .custom_operators.yaml:
- Poziom obszaru roboczego: Umieść plik w katalogu głównym obszaru roboczego, aby operator był widoczny dla wszystkich użytkowników.
-
Poziom użytkownika: Umieść plik w folderze domowym użytkownika (
/Workspace/Users/<user-name>/.custom_operators.yaml), aby operatory były widoczne tylko dla Ciebie.
Note
Lakeflow Designer nadal odczytuje pliki rejestracyjne o nazwie .user_defined_operators.yaml, więc istniejące wpisy rejestracyjne nadal działają.
Rejestruj nowych operatorów w .custom_operators.yaml. Jeśli ten sam folder już ma plik .user_defined_operators.yaml, przenieś jego wpisy do .custom_operators.yaml. Gdy oba pliki znajdują się w folderze, Lakeflow Designer odczytuje tylko .custom_operators.yaml.
Sekcja operators: obsługuje ścieżki plików, odwołania do funkcji Unity Catalog i wzorce glob. Możesz mieszać typy wpisów:
operators:
# File path (python-run-function operators)
- /Workspace/Users/me/operators/my_operator.yaml
# Glob pattern (registers all matching files)
- /Workspace/Users/me/operators/transforms/*.yaml
# UC function reference (uc-udf and uc-udtf operators)
- catalog: my_catalog
schema: my_schema
functionName: my_function
Aktualizowanie lub usuwanie operatora
Gdy zmieniasz kod operatora, odśwież własne operatory, aby wczytać zmiany. Na karcie Operatory w menu kliknij .
- Jeśli operator zachowa ten sam
versionparametr , odświeżanie ładuje zaktualizowany kod. - Jeśli operator ma nowy
version, operator na obszarze roboczym wyświetli po odświeżeniu monit z prośbą o zaktualizowanie go do tej wersji (lub pozostawienie bieżącej wersji).
Aby usunąć operatora z Lakeflow Designer, usuń jego wpis z .custom_operators.yaml. W przypadku operatorów uc-udf i uc-udtf można również usunąć bazową funkcję Unity Catalog za pomocą DROP FUNCTION, jeśli nie jest już potrzebna.
Permissions
| Pozwolenie | Purpose |
|---|---|
Dostęp tylko do odczytu do .custom_operators.yaml. |
Znajdź operatora. |
Dostęp do odczytu do pliku YAML (python-run-function tylko). |
Załaduj definicję operatora. |
| EXECUTE dla funkcji Unity Catalog (operatory oparte wyłącznie na funkcjach Unity Catalog). | Uruchom operator. |
| USE SCHEMA na schemacie (operatory oparte wyłącznie na funkcjach Unity Catalog). | Uzyskaj dostęp do schematu, w którym jest tworzona funkcja. |
| Inne uprawnienia | W zależności od operatora użytkownicy mogą wymagać innych uprawnień. Na przykład USE CONNECTION w połączeniu z usługą Unity Catalog do wywołań interfejsu API HTTP. |
Troubleshooting
| Issue | Rozwiązanie |
|---|---|
| Operator nie pojawia się w Lakeflow Designer. | Sprawdź, czy .custom_operators.yaml istnieje i zawiera na liście Twoją funkcję lub ścieżkę pliku. W przypadku python-run-function operatorów sprawdź ścieżkę pliku i czy plik YAML jest dostępny. |
| Sprawdzanie poprawności schematu kończy się niepowodzeniem. | Zweryfikuj kod YAML względem oficjalnego schematu pod adresem https://your-workspace.cloud.databricks.com/static/schemas/user-defined-operator-v0.1.0.json. |
| Odmowa uprawnień. | Dla operatorów opartych na funkcjach Unity Catalog sprawdź, czy użytkownicy mają uprawnienie EXECUTE do funkcji i uprawnienie USE SCHEMA do schematu. W przypadku operatorów python-run-function sprawdź, czy użytkownicy mają uprawnienia do odczytu pliku YAML. |
python-run-function operator kończy działanie niepowodzeniem w czasie wykonywania. |
Sprawdź, czy run() podpis funkcji jest zgodny z def run(config, inputs, spark). Sprawdź, czy nazwy portów w kodzie są zgodne z kodem YAML i czy zwracane klucze słownika są zgodne z wartościami portów name wyjściowych. |
| Funkcja UDTF zwraca nieprawidłowe typy. | Typy zwracane przez funkcję UDTF muszą być jawne; Nie można odwoływać się do typów kolumn wejściowych. |
Dodatkowe zasoby
Zapoznaj się z następującymi samouczkami:
| Example | Typ | Description |
|---|---|---|
| Nadawca wiadomości e-mail w usłudze Gmail | python-run-function |
Wyślij dane DataFrame jako załącznik do wiadomości e-mail CSV przez Gmail. |
| Kalkulator odsetek złożonych | uc-udf |
Oblicz przyszłe wartości inwestycji przy użyciu formuły odsetek złożonych. |
| Klastrowanie K-średnich | uc-udtf |
Dzielenie danych na klastry przy użyciu biblioteki scikit-learn. |
| Wyślij wiadomość slack | uc-udf |
Wysyłaj powiadomienia do kanałów Slack przez API Slack. |
| Wszystkie widżety interfejsu użytkownika | uc-udf |
Operator referencyjny prezentujący wszystkie dostępne widżety interfejsu użytkownika. |
Aby napisać logikę operatora, zobacz Jak napisać logikę dla niestandardowych operatorów Lakeflow Designer. Pełne informacje referencyjne dotyczące schematu YAML można znaleźć w informacjach referencyjnych dotyczących niestandardowego operatora YAML.