Limitações do modo de acesso de computação para o Unity Catalog
O 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 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
No-isolation shared é um modo de acesso herdado que não suporta 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 cluster.
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. Estes são adicionais às limitações gerais para todo o modo de acesso do Catálogo Unity. Consulte Limitações gerais do Catálogo Unity.
Limitações refinadas de controle de acesso para o modo de acesso de usuário único 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 é possível 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 que 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.
Calcule com o modo de acesso compartilhado.
Calcule com o modo de acesso de usuário único no Databricks Runtime 15.4 LTS ou superior.
O Databricks Runtime 15.4 LTS e superior suporta controle de acesso refinado em computação de usuário único. 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 na computação de usuário único.
Tabela de streaming e limitações de visualização materializadas para o modo de acesso de usuário único do Unity Catalog
No Databricks Runtime 15.3 e inferior, você não pode usar computação de usuário único para consultar tabelas que foram criadas usando um pipeline Delta Live Tables, incluindo tabelas de streaming e exibições materializadas, se essas tabelas forem de 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 pelo Delta Live Tables e de propriedade de outros usuários, use uma das seguintes opções:
Um armazém SQL.
Calcule com o modo de acesso compartilhado no Databricks Runtime 13.3 LTS ou superior.
Calcule com o modo de acesso de usuário único 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 na computação de usuário único.
Limitações de streaming para o modo de acesso de usuário único do Unity Catalog
- O ponto de verificação assíncrono não é suportado no Databricks Runtime 11.3 LTS e inferior.
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 compartilhado no Unity Catalog
O modo de acesso compartilhado 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 Catálogo Unity.
O Databricks Runtime ML e o Spark Machine Learning Library (MLlib) não são suportados.
Os trabalhos spark-submit não são suportados.
No Databricks Runtime 13.3 e superior, as linhas individuais não devem exceder 128MB.
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.
A raiz e as montagens DBFS não suportam FUSE.
Quando você usa o modo de acesso compartilhado com passagem de credenciais, os recursos do Catálogo Unity são desativados.
Não há suporte para contêineres personalizados.
Suporte de idioma para o modo de acesso compartilhado 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 usa o modo de acesso compartilhado, defina a configuração
spark.databricks.scala.kernel.fullClasspath.enabled
do Spark comotrue
.
Limitações e requisitos da API do Spark para o modo de acesso compartilhado do Unity Catalog
- Não há suporte para APIs RDD.
- 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.
- Spark Context (
sc
),spark.sparkContext
, esqlContext
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 aSparkSession
instância. - As seguintes
sc
funções também não são suportadas:emptyRDD
,range
,init_batched_serializer
,parallelize
,textFile
setLocalProperty
setSystemProperty
setJobGroup
runJob
getConf
stop
uiWebUrl
union
hadoopRDD
hadoopFile
newAPIHadoopRDD
sequenceFile
binaryFiles
newAPIHadoopFile
pickleFile
wholeTextFiles
binaryRecords
.
- O Databricks recomenda o uso da
- As seguintes operações da API do Scala Dataset exigem o Databricks Runtime 15.4 LTS ou superior:
map
,mapPartitions
,foreachPartition
,flatMap
reduce
efilter
.
Limitações e requisitos 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:
UDFs do Hive não são suportados.
applyInPandas
emapInPandas
requerem o Databricks Runtime 14.3 ou superior.UDFs escalares Scala requerem Databricks Runtime 14.2 ou superior. Não há suporte para UDFs e UDAFs do Scala.
No Databricks Runtime 14.2 e inferior, o uso de uma versão personalizada do ,
pyarrow
ouprotobuf
em um UDF do PySpark por meio de bibliotecas com escopo de notebook ou cluster não é suportadogrpc
porque a versão instalada é sempre preferida. Para localizar a versão das bibliotecas instaladas, consulte a seção Ambiente do Sistema das notas de versão específicas da versão 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 o Databricks Runtime 14.3 LTS ou superior.
Consulte Funções definidas pelo usuário (UDFs) no Catálogo Unity.
Limitações e requisitos de streaming para o modo de acesso compartilhado 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.
- Para Scala,
foreach
, ,foreachBatch
StreamingListeners
, eFlatMapGroupWithState
não são suportados. - Para Python,
foreachBatch
tem as seguintes alterações de comportamento no Databricks Runtime 14.0 e superior:print()
comandos gravam a saída nos logs 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 que a fonte quando você usaoption("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 não 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
StreamingQueryListener
requer Databricks Runtime 14.3 LTS ou superior para usar credenciais ou interagir com objetos gerenciados pelo Unity Catalog em computação compartilhada.
Limitações e requisitos de acesso à rede e ao sistema de arquivos para o modo de acesso compartilhado 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 Catálogo Unity
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 Limitações de streaming para o modo de acesso de usuário único do Unity Catalog e Limitações e requisitos de streaming para o modo de acesso compartilhado do Unity Catalog.
Para obter mais informações sobre streaming com o Unity Catalog, consulte Usando o catálogo Unity com streaming estruturado.