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
comotrue
.
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
, 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
,pickleFile
textFile
wholeTextFiles
binaryFiles
binaryRecords
sequenceFile
newAPIHadoopFile
newAPIHadoopRDD
hadoopFile
hadoopRDD
union
runJob
setSystemProperty
uiWebUrl
stop
setJobGroup
setLocalProperty
getConf
.
- 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
. - A propriedade de configuração Spark
spark.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
emapInPandas
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
ouprotobuf
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
estate-metadata
para consultar informações de estado para consultas de streaming stateful. -
transformWithState
,transformWithStateInPandas
e APIs associadas não são suportadas. - Para o Scala,
foreach
requer o Databricks Runtime 16.1 ou superior.foreachBatch
eflatMapGroupsWithState
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ê 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 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.