Udostępnij za pośrednictwem


Ograniczenia trybu dostępu obliczeniowego dla wykazu aparatu Unity

Usługa Databricks zaleca używanie wykazu aparatu Unity i trybu dostępu współdzielonego dla większości obciążeń. W tym artykule opisano ograniczenia i wymagania dotyczące poszczególnych trybów dostępu w wykazie aparatu Unity. 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

Udostępnianie bez izolacji jest starszym trybem dostępu, który nie obsługuje wykazu aparatu Unity.

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 dostępu pojedynczego użytkownika w wykazie aparatu Unity

Tryb dostępu pojedynczego użytkownika w katalogu aparatu Unity ma następujące ograniczenia. Są to oprócz ogólnych ograniczeń dla wszystkich trybów dostępu wykazu aparatu Unity. Zobacz Ogólne ograniczenia dotyczące wykazu aparatu Unity.

Szczegółowe ograniczenia kontroli dostępu dla trybu dostępu pojedynczego użytkownika wykazu aparatu Unity

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 wiersza lub maską kolumny.
  • Nie można uzyskać dostępu do widoków dynamicznych.
  • Aby odczytać z dowolnego widoku, musisz mieć SELECT wszystkie tabele i widoki, do których odwołuje się widok.

Aby wykonywać zapytania dotyczące widoków dynamicznych, widoków, na których nie ma SELECT bazowych tabel i widoków, oraz tabel z filtrami wierszy lub maskami kolumn, użyj jednego z następujących elementów:

  • 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.

Przesyłanie strumieniowe tabeli i zmaterializowane ograniczenia widoku dla trybu dostępu pojedynczego użytkownika wykazu aparatu Unity

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 przesyłania strumieniowego i zmaterializowanych widoków utworzonych przez tabele delta live i należących do innych użytkowników, użyj jednego z następujących elementów:

  • 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 przesyłania strumieniowego dla trybu dostępu pojedynczego użytkownika wykazu aparatu Unity

  • 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, aby używać poświadczeń lub wchodzić w interakcje z obiektami zarządzanymi przez wykaz aparatu Unity w obliczeniach pojedynczego użytkownika.

Ograniczenia trybu dostępu współdzielonego w wykazie aparatu Unity

Tryb dostępu współdzielonego w wykazie aparatu Unity ma następujące ograniczenia. Są one dodatkiem do ogólnych ograniczeń dla wszystkich trybów dostępu wykazu aparatu Unity. Zobacz Ogólne ograniczenia dotyczące wykazu aparatu Unity.

  • Biblioteka MLlib (MLlib) środowiska Datab Runtime ML i Spark nie jest obsługiwana.

  • Zadania przesyłania na platformie Spark nie są obsługiwane.

  • W środowisku Databricks Runtime 13.3 lub nowszym pojedyncze wiersze nie mogą przekraczać 128 MB.

  • 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.

  • Katalog główny i instalacja systemu PLIKÓW DBFS nie obsługują programu FUSE.

  • W przypadku korzystania z trybu dostępu współdzielonego z przekazywaniem poświadczeń funkcje wykazu aparatu Unity są wyłączone.

  • 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 środowisku Databricks Runtime 15.4 LTS i nowszym wszystkie biblioteki Java lub Scala (pliki JAR) połączone ze środowiskiem Databricks Runtime są dostępne na obliczeniach w trybach dostępu katalogu aparatu Unity.
    • W przypadku środowiska Databricks Runtime 15.3 lub nowszego w środowisku obliczeniowym korzystającym z trybu dostępu współdzielonego ustaw konfigurację spark.databricks.scala.kernel.fullClasspath.enabled platformy Spark na truewartość .

Ograniczenia i wymagania dotyczące interfejsu API platformy Spark dla trybu dostępu współdzielonego wykazu aparatu Unity

  • Interfejsy API RDD nie są obsługiwane.
  • 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.
  • 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.

Ograniczenia i wymagania dotyczące funkcji UDF dla trybu dostępu współdzielonego wykazu aparatu 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.

  • 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 zdefiniowane przez użytkownika (UDF) w wykazie aparatu Unity.

Ograniczenia przesyłania strumieniowego i wymagania dotyczące trybu dostępu współdzielonego wykazu aparatu Unity

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, 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.
  • Element sourceArchiveDir musi znajdować się w tej samej lokalizacji zewnętrznej co źródło, gdy jest używane option("cleanSource", "archive") ze źródłem danych zarządzanym przez wykaz aparatu Unity.
  • 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 nie są obsługiwane w środowisku Databricks Runtime 13.3 LTS i nowszym, ale nieobsługiwane w środowisku Databricks Runtime 12.2 LTS. Dla tych opcji można określić tylko lokalizacje zewnętrzne zarządzane przez wykaz aparatu Unity:
    • 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 współdzielonych zasobach obliczeniowych.

Ograniczenia dostępu do sieci i systemu plików oraz wymagania dotyczące trybu dostępu współdzielonego wykazu aparatu Unity

  • 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 wykazu aparatu Unity

Następujące ograniczenia dotyczą wszystkich trybów dostępu z obsługą wykazu aparatu Unity.

Ograniczenia przesyłania strumieniowego dla wykazu aparatu Unity

  • 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 dotyczące trybu dostępu pojedynczego użytkownika w wykazie aparatu Unity i ograniczenia przesyłania strumieniowego oraz wymagania dotyczące trybu dostępu współdzielonego wykazu aparatu Unity.

Aby uzyskać więcej informacji na temat przesyłania strumieniowego za pomocą wykazu aparatu Unity, zobacz Używanie wykazu aparatu Unity z przesyłaniem strumieniowym ze strukturą.