Limitações do modo de acesso de computação para o Unity Catalog

A Databricks recomenda o uso do Unity Catalog e do modo de acesso compartilhado para a maioria das cargas de trabalho. Este artigo descreve as limitações e os requisitos de cada modo de acesso com Unity Catalog. Para obter detalhes sobre os modos de acesso, consulte Modos de acesso.

Databricks recomenda o uso de políticas compute para simplificar as opções de configuração para a maioria dos usuários. Consulte Criar e gerenciar políticas em compute .

Observação

O compartilhamento sem isolamento é um modo de acesso herdado que não oferece suporte ao Unity Catalog.

Importante

O script init e a biblioteca têm suporte diferente nos modos de acesso e nas versões do Databricks Runtime. Consulte Onde o script de inicialização pode ser instalado? e biblioteca com escopo de clusters.

Limitações do modo de acesso de usuário único no Unity Catalog

O modo de acesso de usuário único no Unity Catalog tem as seguintes limitações. Estas são adicionais às limitações gerais para todos os modos de acesso Unity Catalog . Consulte Limitações gerais do Unity Catalog.

Limitações de controle de acesso refinadas para o modo de acesso de usuário único do Unity Catalog

Em Databricks Runtime 15.3 e abaixo, não há suporte para controle de acesso refinado em compute de usuário único. Especificamente:

Para consultar uma exibição dinâmica, uma exibição na qual o senhor não tem SELECT nas tabelas e exibições subjacentes e tabelas com filtros de linha ou máscaras de coluna, siga um destes procedimentos:

  • Use um SQL warehouse.

  • Use compute com o modo de acesso compartilhado.

  • Use compute com modo de acesso de usuário único em Databricks Runtime 15.4 LTS ou acima (Public Preview).

    Databricks Runtime 15.4 LTS e acima suportam controle de acesso refinado em compute de usuário único. Para aproveitar a filtragem de dados fornecida em Databricks Runtime 15.4 LTS e acima, o senhor também deve verificar se o seu workspace está habilitado para serverless compute , porque a funcionalidade de filtragem de dados que suporta controles de acesso refinados é executada em serverless compute. Portanto, o senhor poderá ser cobrado pelo serverless compute recurso quando usar o compute de usuário único para executar operações de filtragem de dados. Consulte Controle de acesso refinado em um único usuário em compute.

tabela de transmissão e materializada view limitações para Unity Catalog modo de acesso de usuário único

Em Databricks Runtime 15.3 e abaixo, o senhor não pode usar o compute de usuário único para consultar tabelas criadas por um Delta Live Tables pipeline, incluindo tabelas de transmissão e visualizações materializadas.

Para consultar tabelas criadas por um pipeline do Delta Live Tables, siga um destes procedimentos:

  • Use um SQL warehouse.

  • Use compute com modo de acesso compartilhado em Databricks Runtime 13.3 LTS ou acima.

  • Use compute com modo de acesso de usuário único em Databricks Runtime 15.4 LTS ou acima (Public Preview).

    Databricks Runtime 15.4 LTS e acima suportam consultas em Delta Live Tables - tabelas geradas em compute de usuário único. Para aproveitar a filtragem de dados fornecida em Databricks Runtime 15.4 LTS e acima, o senhor também deve verificar se o seu workspace está habilitado para serverless compute , porque a funcionalidade de filtragem de dados que suporta Delta Live Tables-generated tables executa em serverless compute. Portanto, o senhor poderá ser cobrado pelo serverless compute recurso quando usar o compute de usuário único para executar operações de filtragem de dados. Consulte Controle de acesso refinado em um único usuário em compute.

limitações de transmissão para o modo de acesso de usuário único do Unity Catalog

  • O ponto de verificação assíncrono não tem suporte no Databricks Runtime 11.3 LTS e abaixo.

  • StreamingQueryListener É necessário o Databricks Runtime 15.1 ou o acima para usar credenciais ou interagir com objetos gerenciados pelo Unity Catalog em um único usuário compute.

Limitações do modo de acesso compartilhado no Unity Catalog

O modo de acesso compartilhado no Unity Catalog tem as seguintes limitações. Essas limitações são adicionais às limitações gerais de todos os modos de acesso do Unity Catalog. Consulte Limitações gerais para o Unity Catalog.

  • Databricks Runtime ML e Spark biblioteca do machine learning (MLlib) não são suportados.

  • Trabalhos de envio do Spark não são suportados.

  • Em Databricks Runtime 13.3 e acima, as linhas individuais não podem exceder 128 MB.

  • PySpark Os UDFs não podem acessar as pastas Git, os arquivos workspace ou os volumes para importar módulos em Databricks Runtime 14.2 e abaixo.

  • Quando o senhor usa o modo de acesso compartilhado com passagem de credenciais, o recurso Unity Catalog é desativado.

  • Contêineres personalizados não são suportados.

Suporte de idioma para o modo de acesso compartilhado do Unity Catalog

  • R não é compatível.

  • Scala é suportado em Databricks Runtime 13.3 e acima.

    • Em Databricks Runtime 15.4 LTS e acima, todas as bibliotecas Java ou Scala (arquivosJAR ) incluídas em Databricks Runtime estão disponíveis em compute nos modos de acesso Unity Catalog.

    • Para Databricks Runtime 15.3 ou abaixo em compute que usa o modo de acesso compartilhado, defina a configuração Spark spark.databricks.scala.kernel.fullClasspath.enabled para true.

Spark API limitações e requisitos para o modo de acesso compartilhado Unity Catalog

  • Não há suporte para APIs RDD.

  • O DBUtils e outros clientes que leem diretamente os dados do armazenamento cloud são compatíveis apenas quando o senhor usa um local externo para acessar o local de armazenamento. Consulte Criar um local externo para conectar o armazenamento cloud a Databricks.

  • Spark Context (sc),spark.sparkContext e sqlContext não são suportados para Scala em nenhum Databricks Runtime e não são suportados para Python no Databricks Runtime 14.0 e acima.

    • A Databricks recomenda usar a variável spark para interagir com a instância SparkSession .

    • As seguintes funções sc também não são suportadas: emptyRDD, range, init_batched_serializer, parallelize, pickleFile, textFile, wholeTextFiles, binaryFiles, binaryRecords, sequenceFile, newAPIHadoopFile, newAPIHadoopRDD, hadoopFile, hadoopRDD, union, runJob, setSystemProperty, uiWebUrl, stop, setJobGroup, setLocalProperty, getConf.

  • As seguintes Scala dataset API operações requerem Databricks Runtime 15.4 LTS ou acima: map, mapPartitions, foreachPartition, flatMap, reduce e filter.

Limitações e requisitos do UDF para o modo de acesso compartilhado do Unity Catalog

As funções definidas pelo usuário (UDFs) têm as seguintes limitações com o modo de acesso compartilhado:

  • Não há suporte para UDFs do Hive.

  • applyInPandas e mapInPandas requerem Databricks Runtime 14.3 ou acima.

  • Scala Os UDFs escalares exigem o site Databricks Runtime 14.2 ou acima. Não há suporte para outros UDFs e UDAFs do Scala.

  • Em Databricks Runtime 14.2 e abaixo, o uso de uma versão personalizada de grpc, pyarrow ou protobuf em uma biblioteca PySpark UDF até Notebook-scoped ou cluster-scoped não é suportado porque a versão instalada é sempre a preferida. Para encontrar a versão da biblioteca instalada, consulte a seção System Environment (Ambiente do sistema) da versão específica do site Databricks Runtime notas sobre a versão.

  • Python Os UDFs escalares e Pandas UDFs exigem Databricks Runtime 13.3 LTS ou acima. Não há suporte para outros UDFs do Python, incluindo UDAFs, UDTFs e Pandas no Spark.

Consulte Funções definidas pelo usuário (UDFs) no Unity Catalog.

limitações e requisitos de transmissão para o modo de acesso compartilhado Unity Catalog

Observação

Algumas das opções do Kafka listadas têm suporte limitado quando usadas em configurações compatíveis no Databricks. Consulte o processamento de transmissão com o Apache Kafka e o Databricks.

  • Para Scala, foreach, foreachBatch, StreamingListeners e FlatMapGroupWithState não são compatíveis.

  • Para Python, foreachBatch tem as seguintes alterações de comportamento em Databricks Runtime 14.0 e acima:

    • print() comando write output to the driver logs.

    • O senhor não pode acessar o submódulo dbutils.widgets dentro da função.

    • Todos os arquivos, módulos ou objetos referenciados na função devem ser serializáveis e estar disponíveis no Spark.

  • Para Scala, from_avro requer Databricks Runtime 14.2 ou acima.

  • applyInPandasWithState requer Databricks Runtime 14.3 LTS ou acima.

  • Não há suporte para trabalhar com fontes de soquete.

  • O sourceArchiveDir deve estar no mesmo local externo que a origem quando você usa option("cleanSource", "archive") com uma fonte de dados gerenciada pelo Unity Catalog.

  • Para fontes e sumidouros do Kafka, não há suporte para as seguintes opções:

    • kafka.sasl.client.callback.handler.class

    • kafka.sasl.login.callback.handler.class

    • kafka.sasl.login.class

    • kafka.partition.assignment.strategy

  • As seguintes opções do Kafka não são compatíveis com o Databricks Runtime 13.3 LTS e o acima, mas não são compatíveis com o Databricks Runtime 12.2 LTS. O senhor só pode especificar locais externos gerenciar por Unity Catalog para essas opções:

    • kafka.ssl.truststore.location

    • kafka.ssl.keystore.location

  • StreamingQueryListener É necessário Databricks Runtime 14.3 LTS ou acima para usar credenciais ou interagir com objetos gerenciados por Unity Catalog em compute compartilhado.

  • não há suporte para o perfil de instância para configurar o acesso a fontes externas, como Kafka ou Kinesis, para cargas de trabalho de transmissão.

Limitações e requisitos de acesso à rede e ao sistema de arquivos para o modo de acesso compartilhado do Unity Catalog

  • O senhor deve executar o comando em compute nós como um usuário de baixo privilégio, proibido de acessar partes confidenciais do sistema de arquivos.

  • No Databricks Runtime 11.3 LTS e abaixo, só é possível criar ligações de rede às portas 80 e 443.

  • O senhor não pode se conectar ao serviço de metadados da instância (IMDS), a outras instâncias do EC2 ou a qualquer outro serviço em execução no Databricks VPC. Isso impede o acesso a qualquer serviço que use o IMDS, como o boto3 e o AWS CLI.

Limitações gerais do Unity Catalog

As limitações a seguir se aplicam a todos os modos de acesso habilitados para o Unity Catalog.

UDFs

Graviton O suporte de instância para UDFs no Unity Catalog-enabled clusters está disponível em Databricks Runtime 15.2 e acima. Existem limitações adicionais para o modo de acesso compartilhado. Consulte as limitações e os requisitos do UDF para o modo de acesso compartilhado do Unity Catalog.

limitações de transmissão para o Unity Catalog

  • O modo de processamento contínuo do Apache Spark não é compatível. Consulte Processamento Contínuo no Guia de Programação do Spark transmissão estruturada.

Consulte também as limitações de transmissão para o modo de acesso de usuário único Unity Catalog e as limitações e requisitos de transmissão para o modo de acesso compartilhado Unity Catalog .

Para obter mais informações sobre transmissão com o Unity Catalog, consulte Usando o Unity Catalog com transmissão estruturada.