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
O compartilhamento sem isolamento e a passagem de credenciais são modos de acesso herdados que não suportam Unity Catalog.
Importante
Os scripts e bibliotecas Init têm suporte diferente entre modos de acesso e versões do Databricks Runtime. Veja Where, os scripts de inicialização 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. Estas são além das limitações gerais para o modo de acesso do Unity Catalog. Consulte Limitações gerais do Unity Catalog.
Limitações detalhadas de controle de acesso para Unity Catalog em modo de acesso exclusivo por utilizador
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 um table que tenha um filtro de linha ou uma máscara column.
- Não é possível acessar viewsdinâmico.
- Para ler a partir de qualquer modo de exibição, você deve ter
SELECT
em todos os tables e views que são referenciados pelo modo de exibição.
Para consultar dinâmicos views, views sobre os quais não tens SELECT
nos tables e viewssubjacentes, e tables com filtros de linha ou máscaras de column, usa 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 trata da filtragem de dados, permitindo o acesso a uma visualização sem exigir permissões sobre os seus dados subjacentes tables e views. 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 views. Para obter mais informações, consulte Controle de acesso refinado na computação de usuário único.
Streaming table e limitações de visualização materializadas para Unity Catalog modo de acesso de usuário único
No Databricks Runtime 15.3 ou inferior, você não pode usar computação de usuário único para consultar tables que foram criados usando um pipeline de Delta Live Tables, incluindo fluxos de streaming tables e materializados views, se esses tablesforem de propriedade de outros usuários. O usuário que cria um table é o proprietário.
Para consultar o Streaming tables e os views materializados criados pela Delta Live Tables e de propriedade de outros utilizadores, 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 Unity Catalog modo de acesso exclusivo para um único utilizador
- 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 credentials ou interagir com objetos gerenciados pelo Unity Catalog na computação de um único usuário.
Limitações do modo de acesso compartilhado no Unity Catalog
O modo de acesso compartilhado no Unity Catalog tem as seguintes limitações. Estas são adicionais às limitações gerais para todos os modos de acesso do Unity Catalog. Consulte as 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 submissão Spark 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 a idiomas para o modo de acesso compartilhado 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 versões posteriores, todas as bibliotecas Java ou Scala (arquivos JAR) incluídas no Databricks Runtime estão disponíveis na plataforma de computação nos modos de acesso Unity Catalog.
- Para o Databricks Runtime 15.3 ou inferior em computação que usa o modo de acesso compartilhado, set o
spark.databricks.scala.kernel.fullClasspath.enabled
de configuração do Spark paratrue
.
Limitações e requisitos da API do Spark para o modo de acesso compartilhado 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 UDF para o modo de acesso compartilhado 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 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.
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 ,
grpc
oupyarrow
em um UDF do PySpark por meio de bibliotecas com escopo de notebook ou cluster não é suportadoprotobuf
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) em Unity Catalog.
Limitações e requisitos de streaming para o modo de acesso compartilhado 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 o Scala,
foreach
requer o Databricks Runtime 16.1 ou superior.foreachBatch
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 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 credentials 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 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 rede connections 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 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 Unity Catalog modo de acesso de usuário único e Limitações e requisitos de streaming para Unity Catalog modo de acesso compartilhado.
Para obter mais informações sobre streaming com o Unity Catalog, consulte Usando o Unity Catalog com o Structured Streaming.