Udostępnij za pośrednictwem


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 Gdzie można zainstalować skrypty inicjowania? i biblioteki o zakresie klastra.

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 na true.

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.sparkContexti sqlContext 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ąpieniem SparkSession .
    • Następujące sc funkcje nie są również obsługiwane: emptyRDD, , range, init_batched_serializerparallelizepickleFiletextFilewholeTextFilesbinaryFilesbinaryRecordssequenceFilenewAPIHadoopFilenewAPIHadoopRDDhadoopFilehadoopRDDunionrunJobsetSystemPropertyuiWebUrlstopsetJobGroupsetLocalPropertygetConf.
  • Następujące operacje interfejsu API zestawu danych scala wymagają środowiska Databricks Runtime 15.4 LTS lub nowszego: map, , mapPartitionsforeachPartition, flatMapreduce i filter.
  • 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 i mapInPandas 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 grpcwersji programu pyarrowlub protobuf 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. foreachBatchi FlatMapGroupWithState 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ż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 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.