Co to jest usługa Databricks Apps?
Ważne
Aplikacje usługi Databricks są w publicznej wersji zapoznawczej.
Usługa Databricks Apps umożliwia deweloperom tworzenie bezpiecznych danych i aplikacji sztucznej inteligencji na platformie usługi Databricks i udostępnianie tych aplikacji użytkownikom.
Wcześniej tworzenie aplikacji danych i sztucznej inteligencji korzystających z danych zarządzanych przez obszar roboczy usługi Databricks oraz funkcji analizy danych platformy databricks wymaganej do wdrożenia oddzielnej infrastruktury do hostowania aplikacji, zapewnienia zgodności z mechanizmami kontroli ładu danych, zarządzania zabezpieczeniami aplikacji, w tym uwierzytelniania i autoryzacji itd. Usługa Databricks Apps hostuje aplikacje w usłudze Databricks, więc nie trzeba konfigurować ani wdrażać dodatkowej infrastruktury.
Aplikacje mogą używać zasobów i funkcji platformy Databricks, w tym wykazu aparatu Unity do zapewniania ładu, usługi Databricks SQL do wykonywania zapytań o dane, funkcji sztucznej inteligencji, takich jak obsługa modelu, zadania usługi Databricks dla ETL oraz już skonfigurowane reguły zabezpieczeń w obszarze roboczym, w tym reguły kontrolujące dostęp do danych używanych przez aplikację. Uwierzytelnianie i autoryzacja korzystają z istniejących funkcji usługi Azure Databricks, w tym OAuth i jednostek usługi.
Usługa Databricks zaprojektowała aplikacje databricks dla deweloperów. Aplikacje są opracowywane w języku Python przy użyciu dowolnej platformy, takiej jak Dash, Streamlit lub Gradio. Ponieważ aplikacje są przenośne, możesz tworzyć i debugować je lokalnie, wdrażać je w obszarze roboczym usługi Databricks, a następnie przenosić je do innego obszaru roboczego.
Wymagania
Wymagania dotyczące obszaru roboczego
Aby wdrożyć i uruchomić aplikacje w obszarze roboczym usługi Azure Databricks, obszar roboczy musi spełniać następujące wymagania:
- Należy się upewnić, że zapora nie blokuje domeny
*.databricksapps.com
. - Obszar roboczy usługi Databricks musi znajdować się w obsługiwanym regionie. Zobacz dostępność funkcji bezserwerowych.
Wymagania dotyczące środowiska deweloperskiego
Aby tworzyć aplikacje lokalnie i wdrażać te aplikacje w obszarze roboczym usługi Azure Databricks, środowisko deweloperskie musi spełniać następujące wymagania:
Środowisko Python w wersji 3.11 lub nowszej.
Interfejs wiersza polecenia usługi Databricks (Interfejs wiersza polecenia usługi Databricks), wersja 0.229.0 lub nowsza, skonfigurowany do uzyskiwania dostępu do obszaru roboczego usługi Databricks. Aby zainstalować lub zaktualizować i skonfigurować interfejs wiersza polecenia usługi Databricks, zobacz Instalowanie lub aktualizowanie interfejsu wiersza polecenia usługi Databricks i uwierzytelnianie dla interfejsu wiersza polecenia usługi Databricks.
Zestaw SDK usługi Databricks dla języka Python. Zestaw SDK można zainstalować za pomocą polecenia
pip3
:pip3 install databricks-sdk
(Opcjonalnie) Jeśli aplikacja musi uzyskać dostęp do usługi Databricks SQL, zainstaluj łącznik SQL usługi Databricks dla języka Python. Łącznik można zainstalować za pomocą polecenia
pip3
:pip3 install databricks-sql-connector
Gdzie mogę utworzyć aplikację usługi Databricks?
Aplikacje można pisać i testować w dowolnym środowisku IDE obsługującym język Python, takim jak PyCharm, IntelliJ IDEA lub Visual Studio Code. Usługa Databricks zaleca tworzenie aplikacji przy użyciu programu Visual Studio Code i rozszerzenia usługi Databricks dla programu Visual Studio Code, ale możesz również użyć notesu usługi Databricks i edytora plików, aby edytować kod bezpośrednio w obszarze roboczym usługi Databricks.
Jak mogę tworzyć i wdrażać aplikację usługi Databricks?
Aby utworzyć aplikację lokalnie, oto typowy przepływ pracy:
- Opracowywanie aplikacji w preferowanym środowisku IDE, takim jak Visual Studio Code.
- Uruchom aplikację lokalnie w wierszu polecenia i wyświetl ją w przeglądarce.
- Po zakończeniu i przetestowaniu kodu przenieś kod i wymagane artefakty do obszaru roboczego usługi Databricks.
Zobacz Wprowadzenie do usługi Databricks Apps.
Aby utworzyć aplikację w interfejsie użytkownika lub użyć wstępnie utworzonego przykładu, zobacz Jak mogę utworzyć aplikację w interfejsie użytkownika usługi Databricks Apps?.
Czy mogę używać struktur języka Python z aplikacją usługi Databricks?
Aplikację można opracowywać przy użyciu ulubionych struktur języka Python, takich jak Dash, Streamlit lub Gradio. Przykłady korzystające z popularnych struktur języka Python można zobaczyć w interfejsie użytkownika usługi Databricks Apps. Zobacz Jak mogę utworzyć aplikację w interfejsie użytkownika usługi Databricks Apps?.
Jak usługa Databricks Apps zarządza autoryzacją?
Model autoryzacji usługi Databricks Apps obejmuje użytkownika, który uzyskuje dostęp do aplikacji, oraz jednostkę usługi zarządzanej usługi Azure Databricks przypisaną do aplikacji:
Aby uzyskać dostęp do aplikacji, użytkownik musi mieć uprawnienia CAN_USE lub CAN_MANAGE w aplikacji. Aby dowiedzieć się więcej na temat przypisywania uprawnień do aplikacji, zobacz Konfigurowanie uprawnień dla aplikacji usługi Databricks.
Po utworzeniu aplikacji usługa Databricks Apps automatycznie tworzy jednostkę usługi zarządzanej usługi Azure Databricks i przypisuje ją do aplikacji. Ta jednostka usługi ma dostęp tylko do obszaru roboczego, w ramach którego jest tworzona aplikacja i służy do uwierzytelniania i autoryzacji dostępu do zasobów w obszarze roboczym, takich jak magazyny SQL, model obsługujący punkty końcowe lub zabezpieczane obiekty w wykazie aparatu Unity. Cały dostęp aplikacji do danych lub innych zasobów obszaru roboczego jest wykonywany w imieniu jednostki usługi, a nie właściciela aplikacji ani użytkownika.
Usługa Databricks Apps automatycznie udziela uprawnień jednostki usługi do wszystkich zasobów przypisanych do aplikacji, jeśli użytkownik wdrażający aplikację ma
CAN MANAGE
uprawnienia do tych zasobów. Jeśli dostęp jednostki usługi do innych zasobów jest wymagany, na przykład tabele lub pliki obszaru roboczego, administrator konta lub obszaru roboczego musi udzielić jednostce usługi dostępu do tych zasobów. W przypadku udzielania dostępu do zasobów usługa Databricks zaleca przestrzeganie zasady najniższych uprawnień i przyznanie jednostce usługi tylko minimalnych wymaganych uprawnień. Zobacz Zarządzanie jednostkami usługi.Nazwę główną usługi można znaleźć na stronie szczegółów aplikacji na karcie Zasoby aplikacji. Jednostka usługi zawiera nazwę aplikacji, na przykład dla aplikacji o nazwie
my-hello-world-app
, główna nazwa usługi toapp-22ixod my-hello-world-app
.
Kto może tworzyć aplikacje usługi Databricks?
Każdy użytkownik w obszarze roboczym może tworzyć aplikacje. Aby jednak zarządzać uprawnieniami jednostki usługi przypisanej do aplikacji, musisz być administratorem konta lub obszaru roboczego.
Jak mogę skonfigurować moją aplikację usługi Databricks?
Usługa Databricks Apps automatycznie ustawia kilka zmiennych środowiskowych, do których aplikacja może uzyskiwać dostęp, takich jak host usługi Databricks, na którym działa aplikacja. Parametry niestandardowe można również ustawić przy użyciu pliku YAML. Zobacz Konfiguracja aplikacji usługi Databricks.
Jak mogę zintegrować aplikację usługi Databricks z usługami Azure Databricks?
Aplikacje mogą używać funkcji platformy databricks, takich jak Databricks SQL, do wykonywania zapytań dotyczących danych, zadań usługi Databricks na potrzeby pozyskiwania i przetwarzania danych, usługi Mozaika modelu sztucznej inteligencji w celu uzyskiwania dostępu do generowania modeli sztucznej inteligencji i wpisów tajnych usługi Databricks w celu zarządzania poufnymi informacjami. Podczas konfigurowania aplikacji te funkcje platformy usługi Databricks są określane jako zasoby.
Jednak ze względu na to, że aplikacje są przeznaczone do przenoszenia, usługa Databricks zaleca, aby aplikacje nie zależały od określonych zasobów. Na przykład aplikacja nie powinna być zakodowana na stałe, aby używać określonego magazynu SQL Warehouse. Zamiast tego skonfiguruj usługę SQL Warehouse w interfejsie użytkownika usługi Databricks Apps podczas tworzenia lub aktualizowania aplikacji.
Ponadto, ponieważ aplikacje są skonfigurowane do uruchamiania z najmniej wymaganymi uprawnieniami, nie powinny tworzyć nowych zasobów. Zamiast tego muszą polegać na platformie Databricks, aby rozwiązać istniejące usługi zależne. Każda aplikacja ma przypisaną jednostkę usługi Databricks. Podczas tworzenia lub aktualizowania aplikacji jednostka usługi ma przyznane wymagane uprawnienia do zdefiniowanych zależności zasobów.
Aby dowiedzieć się więcej na temat dodawania funkcji platformy usługi Databricks jako zasobów aplikacji, zobacz Przypisywanie funkcji platformy usługi Databricks do aplikacji usługi Databricks.
Gdzie można znaleźć dzienniki inspekcji dla aplikacji usługi Databricks?
Aby znaleźć zdarzenia inspekcji dla aplikacji, użyj tabel systemowych usługi Azure Databricks. Tabele systemowe umożliwiają wykonywanie zapytań:
- Loguje się do aplikacji. Zobacz Którzy użytkownicy zalogowali się do aplikacji usługi Databricks?.
- Uprawnienia lub udostępnianie zmian w aplikacjach. Zobacz Które aplikacje usługi Databricks zostały zaktualizowane, aby zmienić sposób udostępniania aplikacji innym użytkownikom lub grupom?
Jaki jest koszt aplikacji usługi Databricks?
Aby uzyskać informacje na temat cen aplikacji usługi Databricks, zobacz Compute for Apps.
Środowisko systemowe usługi Databricks Apps
Uwaga
Aby wyświetlić środowisko dla określonej aplikacji, w tym zmienne środowiskowe i zainstalowane pakiety, przejdź do karty Środowisko na stronie szczegółów aplikacji. Zobacz Wyświetlanie szczegółów aplikacji usługi Databricks.
Poniżej opisano środowisko systemowe, w którym działają aplikacje, zasoby dostępne dla aplikacji oraz wersje zainstalowanych aplikacji i bibliotek.
- System operacyjny: Ubuntu 22.04 LTS
- Python: 3.11.0. Aplikacje działają w środowisku wirtualnym języka Python. Wszystkie zależności są instalowane w tym środowisku wirtualnym, w tym automatycznie instalowane biblioteki i wszystkie zainstalowane biblioteki, na przykład z plikiem
requirements.txt
. - Zasoby systemowe: Aplikacje mogą używać maksymalnie dwóch wirtualnych procesorów CPU (vCPU) i 6 GB pamięci. Aplikacja może zostać uruchomiona ponownie, jeśli przekroczy przydzielone zasoby.
Zainstalowane biblioteki języka Python
Biblioteka | Wersja |
---|---|
databricks-sql-connector | 3.4.0 |
databricks-sdk | 0.33.0 |
mlflow-skinny | 2.16.2 |
gradio | 4.44.0 |
streamlit | 1.38.0 |
błyszczący | 1.1.0 |
dash | 2.18.1 |
kolba | 3.0.3 |
fastapi | 0.115.0 |
uvicorn[standard] | 0.30.6 |
gunicorn | 23.0.0 |
kreska-ag-grid | 31.2.0 |
dash-mantine-components | 0.14.4 |
dash-bootstrap-components | 1.6.0 |
kreślenie | 5.24.1 |
plotly-resampler | 0.10.0 |
Ograniczenia
W obszarze roboczym usługi Databricks istnieje limit 10 aplikacji.
Pliki używane przez aplikację nie mogą przekraczać 10 MB rozmiaru. Jeśli plik w katalogu aplikacji przekroczy ten limit, wdrażanie aplikacji zakończy się niepowodzeniem z powodu błędu.
Usługa Databricks Apps nie spełnia standardów zgodności HIPAA, PCI ani FedRAMP.
Dzienniki utworzone przez aplikację nie są utrwalane po zakończeniu działania obliczeniowego usługi Azure Databricks obsługującego aplikację. Zobacz Rejestrowanie z aplikacji usługi Databricks.
Ponieważ nie obsługują protokołu OAuth, nie można używać starszych regionalnych adresów URL w usłudze Databricks Apps.