Udostępnij za pośrednictwem


Obliczanie ograniczeń trybu dostępu w ramach Unity Catalog

Uwaga

Zmieniono nazwy trybów dostępu. Tryb dostępu współdzielonego jest teraz Standard. Tryb dostępu pojedynczego użytkownika jest teraz Dedykowany i można go przypisać do jednego użytkownika lub grupy. Dostęp do grupy jest dostępny w publicznej wersji zapoznawczej.

Usługa Databricks zaleca używanie standardowego trybu dostępu (dawniej 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 dostępu współdzielonego bez izolacji oraz 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 Gdzie można zainstalować skrypty inicjowania? oraz biblioteki przypisane do zasobów obliczeniowych.

Ograniczenia trybu dostępu dedykowanego w katalogu Unity

Tryb dedykowanego dostępu w 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 kontroli dostępu dla dedykowanego trybu dostępu 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:

  • Magazyn SQL.
  • Obliczaj ze standardowym trybem dostępu.
  • Obliczenia w dedykowanym trybie dostępu na Databricks Runtime 15.4 LTS lub nowszym.

Środowisko Databricks Runtime 15.4 LTS i nowsze obsługują szczegółową kontrolę dostępu na komputerze użytkownika pojedynczego. 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 kontrola dostępu o wysokiej szczegółowości do dedykowanego przetwarzania (dawniej przetwarzanie pojedynczego użytkownika).

Przesyłanie strumieniowe tabeli i ograniczenia zmaterializowanego widoku dla trybu dedykowanego dostępu w ramach 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 DLT, 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 przesyłania strumieniowego i zmaterializowanych widoków utworzonych przez bibliotekę DLT i należących do innych użytkowników, użyj jednego z następujących elementów:

  • Magazyn SQL.
  • Obliczenia w standardowym trybie dostępu na Databricks Runtime 13.3 LTS lub nowszym.
  • Obliczenia z trybem dedykowanego dostępu na ś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 sekcję szczegółowe kontrole dostępu do dedykowanych zasobów obliczeniowych (dawniej jako obliczenia pojedynczego użytkownika).

ograniczenia przesyłania strumieniowego dla dedykowanego trybu dostępu 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 standardowego trybu dostępu w katalogu Unity

Standardowy tryb dostępu w katalogu Unity ma następujące ograniczenia. Są one dodatkiem do ogólnych ograniczeń dla wszystkich trybów dostępu katalogu Unity. Zobacz Ogólne ograniczenia katalogu Unity.

  • Databricks Runtime ML i biblioteka Spark Machine Learning Library (MLlib) nie są obsługiwane.
  • 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 DBFS i punkty montowania nie obsługują FUSE.
  • Kontenery niestandardowe nie są obsługiwane.

Obsługa językowa dla dla standardowego trybu dostępu Unity Catalog

  • 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 środowiska Databricks Runtime 15.3 lub starszego w środowisku obliczeniowym korzystającym ze standardowego trybu dostępu ustaw konfigurację Spark spark.databricks.scala.kernel.fullClasspath.enabled na true.

ograniczenia interfejsu API Spark i wymagania dotyczące standardowego trybu dostępu w Unity Catalog

  • API RDD nie są obsługiwane.
  • Kontekst Spark (sc)spark.sparkContext i sqlContext nie jest obsługiwany dla Scali w żadnym środowisku Databricks Runtime ani dla Pythona w Databricks Runtime 14.0 lub późniejszym.
    • Databricks zaleca używanie zmiennej spark do interakcji z instancją SparkSession.
    • Następujące sc funkcje również nie są 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.
  • Następujące operacje interfejsu API Scala Dataset wymagają środowiska Databricks Runtime 15.4 LTS lub nowszego: map, mapPartitions, foreachPartition, flatMap, reduce i filter.
  • Właściwość konfiguracji Sparkspark.executor.extraJavaOptions nie jest obsługiwana.

ograniczenia i wymagania dotyczące standardowego trybu dostępu katalogu Unity dla funkcji UDF

Funkcje zdefiniowane przez użytkownika (UDF) mają następujące ograniczenia dotyczące standardowego trybu dostępu:

  • Funkcje UDF zdefiniowane przez użytkownika w Hive nie są obsługiwane.
  • applyInPandas i mapInPandas wymagają środowiska Databricks Runtime w wersji 14.3 lub nowszej.
  • Funkcje UDF w PySpark nie mogą uzyskać dostępu do folderów Git, plików obszaru roboczego ani woluminów w celu zaimportowania modułów w środowisku Databricks Runtime 14.2 i starszych.
  • Scala skalarne funkcje zdefiniowane przez użytkownika wymagają środowiska Databricks Runtime 14.2 lub nowszego. Inne funkcje UDF i UDAF języka Scala nie są obsługiwane.
  • W środowisku Databricks Runtime 14.2 i starszym użycie niestandardowej wersji grpc, pyarrow lub protobuf w funkcji UDF PySpark przy użyciu bibliotek o zakresie notesu lub zakresie klastra nie jest obsługiwane, ponieważ zainstalowana wersja jest zawsze preferowana. Aby znaleźć wersję zainstalowanych bibliotek, zobacz sekcję Środowisko systemowe w informacjach o wydaniu dla danej wersji środowiska Databricks Runtime.
  • Skalarne UDF w języku Python i UDF Pandas wymagają środowiska Databricks Runtime 13.3 LTS lub nowszego.
  • Nieskalowane funkcje UDF, w tym UDAF, UDTF języka Python i Pandas na 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 standardowego trybu dostępu Unity Catalog

Uwaga

Niektóre z wymienionych opcji Kafki mają ograniczoną obsługę podczas użycia w obsługiwanych konfiguracjach na Azure Databricks. Wszystkie wymienione ograniczenia platformy Kafka obowiązują zarówno w przypadku przetwarzania wsadowego, jak i strumieniowego. Zobacz Przetwarzanie strumieniowe przy użyciu platform Apache Kafka i Azure Databricks.

  • Nie można używać formatów statestore i state-metadata do zapytań o stan dla stanowych zapytań strumieniowych.
  • transformWithState, transformWithStateInPandasoraz powiązane interfejsy API nie są obsługiwane.
  • W przypadku języka Scala foreach wymaga środowiska Databricks Runtime 16.1 lub nowszego. foreachBatchi flatMapGroupsWithState wymagają środowiska Databricks Runtime 16.2 lub nowszego.
  • 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żywasz option("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, aby używać poświadczeń lub wchodzić w interakcje z obiektami zarządzanymi przez Unity Catalog na zasobach obliczeniowych z użyciem standardowego trybu dostępu.

Ograniczenia dostępu do sieci i systemu plików oraz wymagania dotyczące standardowego trybu dostępu Unity Catalog

  • Należy uruchomić polecenia na węzłach obliczeniowych jako użytkownik o niskim poziomie uprawnień, który ma zakaz dostępu do wrażliwych 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 dotyczące przesyłania strumieniowego w Unity Catalog

  • Tryb ciągłego przetwarzania platformy Apache Spark nie jest obsługiwany. Zobacz Ciągłe przetwarzanie w przewodniku programowania Spark Structured Streaming.

Zobacz również ograniczenia strumieniowania dla dedykowanego trybu dostępu Unity Catalog i ograniczenia strumieniowania oraz wymagania dotyczące standardowego trybu dostępu Unity Catalog.

Aby uzyskać więcej informacji na temat strumieniowania przy użyciu Unity Catalog, zobacz Using Unity Catalog with Structured Streaming.