Partilhar via


Limitações de modo de acesso computacional no Unity Catalog

Nota

Os modos de acesso foram renomeados. O modo de acesso compartilhado agora está Standard. O modo de acesso de utilizador único agora está Dedidado e pode ser atribuído a um único utilizador ou grupo. O acesso ao grupo encontra-se em Visualização Pública.

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

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

Nota

O compartilhamento sem isolamento e a passagem de credenciais são modos de acesso herdados que não suportam o Unity Catalog.

Importante

Os scripts e bibliotecas Init têm suporte diferente entre modos de acesso e versões do Databricks Runtime. Consulte Onde os scripts init podem ser instalados? e Bibliotecas com Escopo de Computação.

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

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

Limitações refinadas de controle de acesso para o modo de acesso dedicado do Unity Catalog

No Databricks Runtime 15.3 e inferior, não há suporte para controle de acesso refinado em computação de usuário único. Especificamente:

  • Não é possível aceder a uma tabela que tenha um filtro de linha ou uma máscara de coluna.
  • Não consegue aceder a vistas dinâmicas.
  • Para ler a partir de qualquer modo de exibição, você deve ter SELECT em todas as tabelas e modos de exibição que são referenciados pelo modo de exibição.

Para consultar modos de exibição dinâmicos, modos de exibição nos quais você não tem SELECT nas tabelas e modos de exibição subjacentes e tabelas com filtros de linha ou máscaras de coluna, use uma das seguintes opções:

  • Um armazém SQL.
  • Utilize o modo de acesso padrão para processamento.
  • Compute com o modo de acesso dedicado no Databricks Runtime 15.4 LTS ou superior.

O Databricks Runtime 15.4 LTS e versões posteriores suporta controle de acesso refinado em computação dedicada a um único utilizador. Para aproveitar a filtragem de dados fornecida no Databricks Runtime 15.4 LTS e superior, verifique se seu espaço de trabalho está habilitado para computação sem servidor.

A computação sem servidor lida com a filtragem de dados, que permite o acesso a uma exibição sem exigir permissões em suas tabelas e exibições subjacentes. Como a computação sem servidor lida com a filtragem de dados, você pode incorrer em cobranças de computação sem servidor ao usar computação de usuário único para consultar exibições. Para obter mais informações, consulte Controle de acesso refinado em computação dedicada (anteriormente computação de usuário único).

Tabela de streaming e limitações de visualização materializadas para o modo de acesso dedicado do Unity Catalog

Na versão 15.3 do Databricks Runtime e anteriores, não é possível usar computação de usuário único para consultar tabelas criadas usando um pipeline DLT, incluindo tabelas de streaming e exibições materializadas, se essas tabelas forem propriedade de outros usuários. O usuário que cria uma tabela é o proprietário.

Para consultar tabelas de streaming e exibições materializadas criadas por DLT e de propriedade de outros usuários, use uma das seguintes opções:

  • Um armazém SQL.
  • Realizar cálculos com o modo de acesso padrão no Databricks Runtime 13.3 LTS ou superior.
  • Compute com o modo de acesso dedicado no Databricks Runtime 15.4 LTS ou superior.

Seu espaço de trabalho também deve estar habilitado para computação sem servidor. Para obter mais informações, consulte Controle de acesso refinado em computação dedicada (anteriormente computação de usuário único).

Limitações de streaming para o modo de acesso dedicado do Unity Catalog

  • O ponto de verificação assíncrono não é suportado no Databricks Runtime 11.3 LTS ou versões inferiores.
  • StreamingQueryListener requer o Databricks Runtime 15.1 ou superior para usar credenciais ou interagir com objetos gerenciados pelo Unity Catalog em computação de usuário único.

Limitações do modo de acesso padrão no Unity Catalog

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

  • O Databricks Runtime ML e o Spark Machine Learning Library (MLlib) não são suportados.
  • As tarefas de trabalho Spark-submit não são suportadas. Em vez disso, use uma tarefa JAR .
  • DBUtils e outros clientes que leem diretamente os dados do armazenamento em nuvem só são suportados quando você usa um local externo para acessar o local de armazenamento. Consulte Criar um local externo para conectar o armazenamento em nuvem ao Azure Databricks.
  • No Databricks Runtime 13.3 e superior, as linhas individuais não devem exceder 128MB.
  • A raiz e as montagens DBFS não suportam FUSE.
  • Não há suporte para contêineres personalizados.

Suporte de idiomas para o modo de acesso padrão do Unity Catalog

  • A linguagem R não é suportada.
  • O Scala é suportado no Databricks Runtime 13.3 e superior.
    • No Databricks Runtime 15.4 LTS e superior, todas as bibliotecas Java ou Scala (arquivos JAR) empacotadas com o Databricks Runtime estão disponíveis na computação nos modos de acesso do Unity Catalog.
    • Para o Databricks Runtime 15.3 ou inferior em computação que utiliza o modo de acesso padrão, defina a configuração do Spark spark.databricks.scala.kernel.fullClasspath.enabled como true.

Limitações e requisitos da API do Spark para o modo de acesso padrão do Unity Catalog

  • Não há suporte para APIs RDD.
  • Spark Context (sc),spark.sparkContext, e sqlContext não são suportados para Scala em qualquer Databricks Runtime e não são suportados para Python no Databricks Runtime 14.0 e superior.
    • O Databricks recomenda o uso da spark variável para interagir com a SparkSession instância.
    • As seguintes sc funções também não são suportadas: emptyRDD, range, init_batched_serializer, parallelize, pickleFiletextFilewholeTextFilesbinaryFilesbinaryRecordssequenceFilenewAPIHadoopFilenewAPIHadoopRDDhadoopFilehadoopRDDunionrunJobsetSystemPropertyuiWebUrlstopsetJobGroupsetLocalPropertygetConf.
  • As seguintes operações da API do Scala Dataset exigem o Databricks Runtime 15.4 LTS ou superior: map, mapPartitions, foreachPartition, flatMapreduce e filter.
  • A propriedade de configuração Sparkspark.executor.extraJavaOptions não é suportada.

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

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

  • UDFs do Hive não são suportados.
  • applyInPandas e mapInPandas requerem o Databricks Runtime 14.3 ou superior.
  • UDFs do PySpark não podem acessar pastas Git, arquivos de espaço de trabalho ou volumes para importar módulos no Databricks Runtime 14.2 e inferior.
  • Funções UDF escalares em Scala necessitam de Databricks Runtime 14.2 ou superior. Não há suporte para outras UDFs e UDAFs do Scala.
  • No Databricks Runtime 14.2 e anteriores, o uso de uma versão personalizada de grpc, pyarrow ou protobuf num UDF PySpark através de bibliotecas com escopo de notebook ou cluster não é suportado porque a versão instalada é sempre preferida. Para localizar a versão das bibliotecas instaladas, consulte a seção Ambiente do Sistema nas notas de lançamento da versão específica do Databricks Runtime.
  • UDFs escalares Python e UDFs Pandas requerem Databricks Runtime 13.3 LTS ou superior.
  • UDFs Python e Pandas não escalares, incluindo UDAFs, UDTFs e Pandas no Spark, requerem Databricks Runtime 14.3 LTS ou versão superior.

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

Limitações e requisitos de streaming para o modo de acesso padrão do Unity Catalog

Nota

Algumas das opções Kafka listadas têm suporte limitado quando usadas para configurações com suporte no Azure Databricks. Todas as limitações Kafka listadas são válidas para processamento em lote e fluxo. Consulte Processamento de fluxo com Apache Kafka e Azure Databricks.

  • Não é possível usar os formatos statestore e state-metadata para consultar informações de estado para consultas de streaming stateful.
  • transformWithState, transformWithStateInPandase APIs associadas não são suportadas.
  • Para o Scala, foreach requer o Databricks Runtime 16.1 ou superior. foreachBatche flatMapGroupsWithState requerem o Databricks Runtime 16.2 ou superior.
  • Para Python, foreachBatch tem as seguintes alterações de comportamento no Databricks Runtime 14.0 e superior:
    • print() comandos gravam a saída nos registos do driver.
    • Não é possível acessar o dbutils.widgets submódulo 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 superior.
  • applyInPandasWithState requer Databricks Runtime 14.3 LTS ou superior.
  • Não há suporte para trabalhar com fontes de soquete.
  • O sourceArchiveDir deve estar no mesmo local externo da fonte quando você usa option("cleanSource", "archive") com uma fonte de dados gerenciada pelo Unity Catalog.
  • Para fontes e coletores Kafka, as seguintes opções não são suportadas:
    • 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 são suportadas no Databricks Runtime 13.3 LTS e superior, mas não são suportadas no Databricks Runtime 12.2 LTS. Você só pode especificar locais externos gerenciados pelo Unity Catalog para estas opções:
    • kafka.ssl.truststore.location
    • kafka.ssl.keystore.location
  • Para Scala, StreamingQueryListener requer Databricks Runtime 16.1 e acima.
  • Para Python, StreamingQueryListener requer o Databricks Runtime 14.3 LTS ou superior para usar credenciais ou interagir com objetos gerenciados pelo Unity Catalog em computação com modo de acesso padrão.

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

  • Você deve executar comandos em nós de computação como um usuário de baixo privilégio proibido de acessar partes confidenciais do sistema de arquivos.
  • No Databricks Runtime 11.3 LTS e inferior, você só pode criar conexões de rede para as portas 80 e 443.
  • Você não pode se conectar ao serviço de metadados da instância ou ao Azure WireServer.

Limitações gerais do Unity Catalog

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

Limitações de streaming para o Unity Catalog

  • O modo de processamento contínuo Apache Spark não é suportado. Consulte Processamento contínuo no Guia de programação de streaming estruturado do Spark.

Consulte também as limitações de streaming para o modo de acesso dedicado do Unity Catalog e as limitações e requisitos de streaming para o modo de acesso padrão do Unity Catalog .

Para obter mais informações sobre streaming com o Unity Catalog, consulte Usando o catálogo Unity com streaming estruturado.