Ograniczenia trybu dostępu do zasobów dla Unity Catalog
Databricks zaleca używanie Unity Catalog i trybu dostępu współdzielonego dla większości obciążeń. W tym artykule opisano ograniczenia i wymagania dotyczące poszczególnych sposobów dostępu w Unity Catalog. Aby uzyskać szczegółowe informacje na temat trybów dostępu, zobacz Tryby dostępu.
Usługa Databricks zaleca używanie zasad obliczeniowych w celu uproszczenia opcji konfiguracji dla większości użytkowników. Zobacz Tworzenie zasad obliczeniowych i zarządzanie nimi.
Uwaga
Tryby współdzielone bez izolacji i przekazywanie poświadczeń to starsze tryby dostępu, które nie obsługują Unity Catalog.
Ważne
Skrypty inicjowania i biblioteki mają różne wsparcie dla trybów dostępu i wersji środowiska Databricks Runtime. Zobacz
ograniczenia trybu jednego użytkownika w Unity Catalog
Tryb dostępu dla pojedynczego użytkownika w usłudze Unity Catalog ma następujące ograniczenia. ** Są to dodatkowe ograniczenia oprócz ogólnych ograniczeń dla wszystkich trybów dostępu w katalogu Unity. Zobacz Ogólne ograniczenia katalogu Unity.
Szczegółowe ograniczenia drobnoziarnistej kontroli dostępu dla trybu dostępu pojedynczego użytkownika w Unity Catalog
W środowisku Databricks Runtime 15.3 lub nowszym szczegółowa kontrola dostępu w obliczeniach pojedynczego użytkownika nie jest obsługiwana. Szczególnie:
- Nie można uzyskać dostępu do tabeli z filtrem wierszy lub maską kolumny.
- Nie można uzyskać dostępu do widoków dynamicznych .
- Aby odczytać z dowolnego widoku, musisz mieć
SELECT
we wszystkich tabelach i widokach, do których odnosi się dany widok.
Aby wykonywać zapytania dotyczące widoków dynamicznych, widoki, na których nie masz SELECT
w podstawowych tabelach i widokach, oraz tabele z filtrami wierszy lub maskami kolumn, użyj jednej z następujących opcji:
Usługa SQL Warehouse.
Środowisko obliczeniowe z trybem dostępu współdzielonego.
Środowisko obliczeniowe z trybem dostępu pojedynczego użytkownika w środowisku Databricks Runtime 15.4 LTS lub nowszym.
Środowisko Databricks Runtime 15.4 LTS i nowsze obsługują szczegółową kontrolę dostępu w obliczeniach pojedynczego użytkownika. Aby skorzystać z filtrowania danych dostępnego w środowisku Databricks Runtime 15.4 LTS lub nowszym, sprawdź, czy obszar roboczy jest włączony dla obliczeń bezserwerowych.
Przetwarzanie bezserwerowe obsługuje filtrowanie danych, co umożliwia dostęp do widoku bez konieczności stosowania uprawnień do bazowych tabel i widoków. Ponieważ przetwarzanie bezserwerowe obsługuje filtrowanie danych, w przypadku używania obliczeń pojedynczego użytkownika do wykonywania zapytań dotyczących widoków może być naliczane opłaty za przetwarzanie bezserwerowe. Aby uzyskać więcej informacji, zobacz Szczegółowe informacje dotyczące kontroli dostępu w obliczeniach pojedynczego użytkownika.
Ograniczenia przetwarzania strumieniowego tabel i zmaterializowanych widoków w trybie dostępu pojedynczego użytkownika w Unity Catalog.
W środowisku Databricks Runtime 15.3 i poniżej nie można używać obliczeń pojedynczego użytkownika do wykonywania zapytań dotyczących tabel utworzonych przy użyciu potoku delta Live Tables, w tym tabel przesyłania strumieniowego i zmaterializowanych widoków, jeśli te tabele są własnością innych użytkowników. Użytkownik, który tworzy tabelę, jest właścicielem.
Aby wykonywać zapytania dotyczące tabel strumieniowych i widoków materializowanych utworzonych przez Delta Live Tables i należących do innych użytkowników, użyj jednej z poniższych metod.
Usługa SQL Warehouse.
Środowisko obliczeniowe z trybem dostępu współdzielonego w środowisku Databricks Runtime 13.3 LTS lub nowszym.
Środowisko obliczeniowe z trybem dostępu pojedynczego użytkownika w środowisku Databricks Runtime 15.4 LTS lub nowszym.
Obszar roboczy musi być również włączony dla obliczeń bezserwerowych. Aby uzyskać więcej informacji, zobacz Szczegółowe informacje dotyczące kontroli dostępu w obliczeniach pojedynczego użytkownika.
ograniczenia streamingowe dla trybu dostępu dla jednego użytkownika Unity Catalog
- Asynchroniczne punkty kontrolne nie są obsługiwane w środowisku Databricks Runtime 11.3 LTS i poniżej.
-
StreamingQueryListener
wymaga środowiska Databricks Runtime 15.1 lub nowszego do używania poświadczeń lub interakcji z obiektami zarządzanymi przez Unity Catalog na potrzeby obliczeń pojedynczego użytkownika.
ograniczenia trybu dostępu współdzielonego w katalogu aparatu Unity
Tryb dostępu współdzielonego w Unity Catalog ma następujące ograniczenia. Są one dodatkiem do ogólnych ograniczeń dla wszystkich trybów dostępu katalogu Unity. Zobacz Ogólne ograniczenia Unity Catalog.
Biblioteka MLlib (MLlib) środowiska Datab Runtime ML i Spark nie jest obsługiwana.
Zadania przesyłane za pomocą platformy Spark nie są obsługiwane. Zamiast tego użyj zadania JAR .
Narzędzia DBUtils i inni klienci, którzy bezpośrednio odczytują dane z magazynu w chmurze, są obsługiwane tylko w przypadku korzystania z lokalizacji zewnętrznej w celu uzyskania dostępu do lokalizacji magazynu. Zobacz Tworzenie lokalizacji zewnętrznej w celu połączenia magazynu w chmurze z usługą Azure Databricks.
W środowisku Databricks Runtime 13.3 lub nowszym pojedyncze wiersze nie mogą przekraczać 128 MB.
Katalog główny i instalacja systemu PLIKÓW DBFS nie obsługują programu FUSE.
Kontenery niestandardowe nie są obsługiwane.
obsługa języka dla trybu dostępu współdzielonego wykazu aparatu Unity
- Język R nie jest obsługiwany.
- Język Scala jest obsługiwany w środowisku Databricks Runtime 13.3 lub nowszym.
- W Databricks Runtime 15.4 LTS i nowszym wszystkie biblioteki Java lub Scala (pliki JAR) połączone z Databricks Runtime są dostępne przy obliczeniach w trybach dostępu Unity Catalog.
- W przypadku Databricks Runtime 15.3 lub starszej wersji na środowisku obliczeniowym korzystającym z trybu dostępu współdzielonego, ustaw konfigurację Spark
spark.databricks.scala.kernel.fullClasspath.enabled
natrue
.
Ograniczenia i wymagania dotyczące interfejsu API Spark dla trybu współdzielonego dostępu Unity Catalog
- Interfejsy API RDD nie są obsługiwane.
- Kontekst platformy Spark (
sc
)spark.sparkContext
isqlContext
nie są obsługiwane w przypadku języka Scala w żadnym środowisku Databricks Runtime i nie są obsługiwane w przypadku języka Python w środowisku Databricks Runtime 14.0 lub nowszym.- Usługa Databricks zaleca używanie zmiennej
spark
do interakcji z wystąpieniemSparkSession
. - Następujące
sc
funkcje nie są również obsługiwane:emptyRDD
, ,range
,init_batched_serializer
parallelize
pickleFile
textFile
wholeTextFiles
binaryFiles
binaryRecords
sequenceFile
newAPIHadoopFile
newAPIHadoopRDD
hadoopFile
hadoopRDD
union
runJob
setSystemProperty
uiWebUrl
stop
setJobGroup
setLocalProperty
getConf
.
- Usługa Databricks zaleca używanie zmiennej
- Następujące operacje interfejsu API zestawu danych scala wymagają środowiska Databricks Runtime 15.4 LTS lub nowszego:
map
, ,mapPartitions
foreachPartition
,flatMap
reduce
ifilter
. - Właściwość
dotycząca konfiguracji w Spark nie jest obsługiwana.
Ograniczenia i wymagania dotyczące funkcji UDF dla trybu dostępu współdzielonego katalogu Unity
Funkcje zdefiniowane przez użytkownika (UDF) mają następujące ograniczenia dotyczące trybu dostępu współdzielonego:
Funkcje zdefiniowane przez użytkownika programu Hive nie są obsługiwane.
applyInPandas
imapInPandas
wymagają środowiska Databricks Runtime w wersji 14.3 lub nowszej.Funkcje zdefiniowane przez użytkownika PySpark nie mogą uzyskać dostępu do folderów Git, plików obszaru roboczego lub woluminów w celu zaimportowania modułów w środowisku Databricks Runtime 14.2 i nowszych.
Scala skalarne funkcje zdefiniowane przez użytkownika wymagają środowiska Databricks Runtime 14.2 lub nowszego. Inne funkcje UDF i UDF języka Scala nie są obsługiwane.
W środowisku Databricks Runtime 14.2 lub nowszym przy użyciu niestandardowej
grpc
wersji programupyarrow
lubprotobuf
w funkcji zdefiniowanej przez użytkownika PySpark za pośrednictwem bibliotek o zakresie notesu lub w zakresie klastra nie jest obsługiwana, ponieważ zainstalowana wersja jest zawsze preferowana. Aby znaleźć wersję zainstalowanych bibliotek, zobacz sekcję Środowisko systemowe określonych informacji o wersji środowiska Databricks Runtime.Funkcje zdefiniowane przez użytkownika w języku Python i funkcje zdefiniowane przez użytkownika biblioteki Pandas wymagają środowiska Databricks Runtime 13.3 LTS lub nowszego.
Nieskalowane funkcje UDF języka Python i biblioteki Pandas, w tym funkcje UDF, funkcje zdefiniowane przez użytkownika i biblioteki Pandas na platformie Spark, wymagają środowiska Databricks Runtime 14.3 LTS lub nowszego.
Zobacz funkcje definiowane przez użytkownika (UDFs) w katalogu Unity.
ograniczenia przesyłania strumieniowego i wymagania dotyczące trybu współdzielonego dostępu w Unity Catalog
Uwaga
Niektóre z wymienionych opcji platformy Kafka mają ograniczoną obsługę w przypadku użycia w przypadku obsługiwanych konfiguracji w usłudze Azure Databricks. Wszystkie wymienione ograniczenia platformy Kafka są prawidłowe zarówno w przypadku przetwarzania wsadowego, jak i strumieniowego. Zobacz Przetwarzanie strumieniowe przy użyciu platform Apache Kafka i Azure Databricks.
- W przypadku języka Scala
foreach
wymaga środowiska Databricks Runtime 16.1 lub nowszego.foreachBatch
iFlatMapGroupWithState
nie są obsługiwane. - W przypadku języka Python
foreachBatch
zmiany zachowania w środowisku Databricks Runtime 14.0 lub nowszym są następujące:-
print()
polecenia zapisują dane wyjściowe w dziennikach sterowników. - Nie można uzyskać dostępu do modułu
dbutils.widgets
podrzędnego wewnątrz funkcji. - Wszystkie pliki, moduły lub obiekty, do których odwołuje się funkcja, muszą być serializowalne i dostępne na platformie Spark.
-
- W przypadku języka Scala
from_avro
wymaga środowiska Databricks Runtime w wersji 14.2 lub nowszej. -
applyInPandasWithState
wymaga środowiska Databricks Runtime 14.3 LTS lub nowszego. - Praca ze źródłami gniazd nie jest obsługiwana.
-
sourceArchiveDir
musi znajdować się w tej samej lokalizacji zewnętrznej co źródło, gdy używaszoption("cleanSource", "archive")
ze źródłem danych zarządzanym przez Unity Catalog. - W przypadku źródeł i ujść platformy Kafka następujące opcje nie są obsługiwane:
kafka.sasl.client.callback.handler.class
kafka.sasl.login.callback.handler.class
kafka.sasl.login.class
kafka.partition.assignment.strategy
- Następujące opcje platformy Kafka są obsługiwane w środowisku Databricks Runtime 13.3 LTS i nowszym, ale nieobsługiwane w środowisku Databricks Runtime 12.2 LTS. Można określić tylko zewnętrzne lokalizacje zarządzane przez Unity Catalog dla tych opcji:
kafka.ssl.truststore.location
kafka.ssl.keystore.location
- W przypadku języka Scala
StreamingQueryListener
wymaga środowiska Databricks Runtime 16.1 lub nowszego. - W przypadku języka Python,
StreamingQueryListener
wymaga środowiska Databricks Runtime 14.3 LTS lub nowszego do używania poświadczeń lub interakcji z obiektami zarządzanymi przez Unity Catalog na współdzielonych zasobach obliczeniowych.
Ograniczenia dostępu do sieci i systemu plików oraz wymagania dotyczące trybu dostępu współdzielonego wykazu Unity Catalog
Należy uruchomić polecenia w węzłach obliczeniowych jako użytkownik o niskim poziomie uprawnień zabroniony dostęp do poufnych części systemu plików.
W środowisku Databricks Runtime 11.3 LTS i poniżej można tworzyć połączenia sieciowe tylko z portami 80 i 443.
Nie można nawiązać połączenia z usługą metadanych wystąpienia ani z usługą Azure WireServer.
ogólne ograniczenia dotyczące Unity Catalog
Następujące ograniczenia dotyczą wszystkich trybów dostępu z obsługą katalogu Unity.
ograniczenia przesyłania strumieniowego dla Unity Catalog
- Tryb ciągłego przetwarzania platformy Apache Spark nie jest obsługiwany. Zobacz Ciągłe przetwarzanie w przewodniku programowania przesyłania strumieniowego ze strukturą platformy Spark.
Zobacz również Ograniczenia przesyłania strumieniowego dla trybu dostępu jednego użytkownika dla Unity Catalog i ograniczenia przesyłania strumieniowego i wymagania dotyczące trybu dostępu współdzielonego dla Unity Catalog.
Aby uzyskać więcej informacji na temat strumieniowania przy użyciu Unity Catalog, zobacz Using Unity Catalog with Structured Streaming.