Udostępnij za pośrednictwem


Omówienie konfiguracji Azure usługi Databricks

Azure Databricks to platforma oparta na chmurze, która łączy w sobie najlepsze cechy inżynierii danych i nauki o danych. Umożliwia tworzenie i analizowanie potoków danych oraz zarządzanie nimi przy Apache Spark użyciu szybkiej i skalowalnej platformy typu open source do przetwarzania danych big data. Azure Databricks zapewnia również przestrzeń roboczą do współpracy dla analityków danych i inżynierów, którzy mogą współpracować nad projektami Uczenie maszynowe i sztucznej inteligencji.

Jeśli pracujesz w branży rządowej lub sektora publicznego, ta dokumentacja architektury referencyjnej zawiera opiniotwórcze wskazówki dotyczące korzystania z Azure usługi Databricks z suwerenną strefą docelową lub wdrożeniem Azure strefy docelowej z zastosowanymi inicjatywami zasad punktu odniesienia suwerenności.

Dokumentacja produktu Azure Databricks zawiera obszerne informacje na temat różnych artykułów. Ten dokument uzupełnia dokumentację, zawierając wyselekcjonowane zalecenia dotyczące kluczowych pojęć i opcji konfigurowania Azure środowiska usługi Databricks.

Najważniejsze cechy usługi Azure Databricks

Azure Usługa Databricks ma bogaty zestaw funkcji, ale w przypadku tej architektury referencyjnej skupiamy się na jej elementach infrastruktury. Azure Databricks oferuje:

  • Notesy interaktywne: notesy umożliwiają pisanie kodu w języku Python, Scala, SQL lub R oraz wizualizowanie wyników za pomocą wykresów i diagramów. Udostępniaj i komentuj notesy członkom zespołu i integruj je z popularnymi narzędziami, takimi jak GitHub i Azure DevOps.

  • Opcje obliczeniowe: Azure Usługa Databricks udostępnia różne opcje obliczeniowe do obsługi obciążeń inżynierii danych, nauki o danych i analizy danych. Te opcje obejmują skalowalne bezserwerowe obliczenia na żądanie dla notesów i zadań, aprowizowane zasoby obliczeniowe na potrzeby analizy ogólnego celu i zautomatyzowanych zadań oraz magazyny SQL do wykonywania SQL poleceń. Pule instancji oferują bezczynne, gotowe do użycia wystąpienia w celu skrócenia czasu uruchamiania i skalowania automatycznego, zwiększając wydajność w różnych scenariuszach przetwarzania danych.

  • Integracja danych: Łatwo łącz się z różnymi źródłami danych i miejscami docelowymi, takimi jak Azure Blob Storage, Azure Data Lake Storage Azure SQL Database, Azure Synapse Analytics Azure Cosmos DB i inne. Korzystaj z usługi Delta Lake, niezawodnego i wydajnego rozwiązania typu data lake, które obsługuje transakcje ACID i wymuszanie schematów.

  • Uczenie maszynowe: Tworzenie, trenowanie i wdrażanie modeli uczenia maszynowego przy użyciu popularnych platform, takich jak TensorFlow, PyTorch, Scikit-learn i XGBoost. Użyj MLflow, platformy typu open source do zarządzania cyklem życia uczenia maszynowego, aby śledzić eksperymenty, metryki dzienników i wdrażać modele.

  • Zabezpieczenia przedsiębiorstwa: Bezpieczny dostęp do danych i ich przetwarzanie dzięki funkcjom takim jak kontrola dostępu oparta na rolach, szyfrowanie, inspekcja i zgodność. Zintegruj usługę Azure Databricks z identyfikatorem Microsoft Entra , Azure Key Vault i połączyć prywatnym Azure na potrzeby ochrony tożsamości i danych.

  • Zarządzanie danymi i ich udostępnianie: Wykaz aparatu Unity upraszcza udostępnianie danych w organizacjach i bezpieczną analizę w chmurze, udostępniając zarządzaną wersję udostępniania różnicowego do udostępniania zewnętrznego i ujednolicony model zarządzania danymi dla danych magazyn lakehouse.

Architektura usługi Databricks wysokiego poziomu

Azure Usługa Databricks działa na płaszczyźnie sterowania i płaszczyźnie obliczeniowej. Architektura referencyjna zaleca opcje konfiguracji w każdej z tych płaszczyzn sterowania. Na poniższym diagramie opisano ogólną Azure architekturę usługi Databricks.

Zrzut ekranu przedstawiający architekturę usługi Databricks wysokiego poziomu.

Płaszczyzna sterowania

Płaszczyzna sterowania to warstwa Azure usługi Databricks, która zarządza cyklem życia klastrów i zadań oraz uwierzytelnianiem i autoryzacją użytkowników oraz dostępem do danych. Płaszczyzna sterowania obejmuje usługi zaplecza zarządzane przez Azure Databricks na koncie Azure Databricks. Aplikacja internetowa znajduje się na płaszczyźnie sterowania.

Płaszczyzna sterowania działa w subskrypcji Azure należącej do Azure usługi Databricks i komunikuje się z klasycznymi i bezserwerowymi płaszczyznami obliczeniowymi za pośrednictwem bezpiecznych interfejsów API. Płaszczyzna sterowania udostępnia również interfejs internetowy i interfejsy API REST dla użytkowników do interakcji z Azure Databricks.

Płaszczyzna obliczeniowa

Płaszczyzna obliczeniowa to miejsce, w którym są przetwarzane dane. Istnieją dwa typy płaszczyzn obliczeniowych — bezserwerowe i klasyczne. Bezserwerowa płaszczyzna obliczeniowa oferuje natychmiastowe i elastyczne zasoby, podczas gdy klasyczna płaszczyzna obliczeniowa opiera się na wstępnie aprowizowanej infrastrukturze.

Bezserwerowa płaszczyzna obliczeniowa

Bezserwerowe zasoby obliczeniowe są idealne dla zapytań ad hoc, notesów i krótkotrwałych obciążeń. Na przykład możesz użyć bezserwerowych zasobów obliczeniowych, aby uruchamiać polecenia SQL w notesach lub wykonywać lekkie zadania. Na bezserwerowej płaszczyźnie obliczeniowej zasoby są uruchamiane w warstwa obliczeniowej w ramach konta Azure Databricks.

Azure Usługa Databricks tworzy bezserwerową płaszczyznę obliczeniową w tym samym Azure regionie co klasyczna płaszczyzna obliczeniowa obszaru roboczego. Obsługuje pulę serwerów znajdujących się na koncie usługi Databricks, z uruchomionymi kontenerami Kubernetes, które można przypisać do użytkownika w ciągu kilku sekund. Aby uzyskać więcej informacji, zobacz Ogłoszenie usługi Databricks bezserwerowej SQL: natychmiastowa, zarządzana, zabezpieczona i gotowa do produkcji platforma dla SQL obciążeń — blog usługi Databricks.

Platforma obliczeniowa szybko rozszerza klaster o kolejne serwery, gdy użytkownicy uruchamiają raporty lub zapytania jednocześnie, aby obsłużyć współbieżne obciążenie. Usługa Databricks zarządza całą konfiguracją serwera i automatycznie wykonuje poprawki i uaktualnienia zgodnie z potrzebami. Opłaty za bezserwerowe zasoby obliczeniowe są naliczane za użycie (na przykład za wykonanie zapytania lub uruchomienie zadania).

Obraz przedstawia bezserwerową płaszczyznę obliczeniową.

Każdy serwer ma bezpieczną konfigurację, a całe przetwarzanie jest zabezpieczone przez trzy warstwy izolacji — kontener Kubernetes hostujący środowisko uruchomieniowe, maszynę wirtualną hostującą kontener i sieć wirtualną dla obszaru roboczego. Każda warstwa jest odizolowana w jednym obszarze roboczym bez dozwolonego udostępniania lub ruchu między sieciami.

Kontenery używają wzmocnionych konfiguracji, maszyny wirtualne są zamykane i nie są ponownie używane, a ruch sieciowy jest ograniczony do węzłów w tym samym klastrze. Wszystkie zasoby obliczeniowe są efemeryczne, przeznaczone wyłącznie dla tego obciążenia i bezpiecznie czyszczone po zakończeniu obciążenia.

Cały ruch między Tobą, płaszczyzną sterowania, płaszczyzną obliczeniową i usługami w chmurze jest kierowany przez globalną sieć Azure, a nie przez publiczny Internet. Bezserwerowa płaszczyzna obliczeniowa dla bezserwerowych magazynów SQL nie korzysta z konfigurowalnej przez klienta łączności zaplecza Azure połączyć prywatnej. Płaszczyzna sterowania Azure usługi Databricks łączy się z bezserwerową płaszczyzną obliczeniową za pomocą protokołu mTLS z dostępem IP dozwolonym tylko dla adresu IP płaszczyzny sterowania.

Cała dołączona pamięć masowa jest chroniona przez standardowe w branży szyfrowanie AES-256, a cały ruch między użytkownikiem, płaszczyzną sterowania, płaszczyzną obliczeniową i usługami w chmurze jest szyfrowany przy użyciu co najmniej protokołu TLS 1.2. Magazyny bezserwerowe SQL nie używają kluczy zarządzanych przez klienta dla dysków zarządzanych.

Obciążenia nie mają żadnych uprawnień ani poświadczeń dla systemów spoza zakresu tego obciążenia, a dostęp do danych odbywa się za pośrednictwem krótkotrwałych (jednogodzinnych) tokenów. Te tokeny są bezpiecznie przekazywane do każdego określonego obciążenia.

Od czerwca 2024 r. Azure Poufne przetwarzanie nie jest obsługiwane w przypadku obliczeń bezserwerowych, ale obciążenie jest chronione przez wiele warstw izolacji, jak pokazano na diagramie izolacji obliczeń bezserwerowych Azure.

Aby uzyskać więcej informacji, zobacz Bezpieczne wdrażanie obciążeń w obliczeniach bezserwerowych.

Klasyczna płaszczyzna obliczeniowa

Klasyczna płaszczyzna obliczeniowa jest odpowiednia dla długotrwałych zadań, obciążeń produkcyjnych i spójnych potrzeb w zakresie zasobów. Można na przykład użyć aprowizowanych zasobów obliczeniowych dla potoków ETL, trenowania uczenia maszynowego i zadań inżynierii danych.

Klasyczna płaszczyzna obliczeniowa ma naturalną izolację, ponieważ działa we własnej subskrypcji Azure. Nowe zasoby obliczeniowe są tworzone i konfigurowane w sieci wirtualnej każdego obszaru roboczego w ramach subskrypcji Azure. Zasoby obliczeniowe pozostają stałe, dopóki nie zostaną jawnie zmodyfikowane, i są rozliczane na podstawie typu wystąpienia i czasu trwania. Klastry mogą używać kluczy zarządzanych przez klienta dla dysków zarządzanych i obsługiwanych wystąpień typu spot.

Azure Administratorzy usługi Databricks mogą używać zasad klastra do kontrolowania wielu aspektów klastrów, w tym dostępnych typów wystąpień, wersji usługi Databricks i rozmiarów wystąpień.

Iniekcja sieci wirtualnej usługi Databricks to funkcja, która umożliwia wdrażanie Azure zasobów klasycznej płaszczyzny obliczeniowej usługi Databricks we własnej sieci wirtualnej. Ta funkcja ułatwia łączenie Azure usługi Databricks z innymi Azure usługami w bezpieczniejszy sposób przy użyciu punktów końcowych usługi lub prywatnych punktów końcowych. Możesz również użyć komunikacji równorzędnej sieci wirtualnych, aby nawiązać komunikację równorzędną z siecią wirtualną, w której Azure działa obszar roboczy usługi Databricks, z inną Azure siecią wirtualną.