Limitações do modo de acesso à computação para o Catálogo do Unity
O Databricks recomenda o uso do Catálogo do Unity 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 o Catálogo do Unity. Para obter detalhes sobre os modos de acesso, confira 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. Confira Criar e gerenciar políticas de computação.
Observação
O não isolamento compartilhado é um modo de acesso herdado que não dá suporte ao Catálogo do Unity.
Importante
Os scripts de inicialização e as bibliotecas têm suporte diferente nos modos de acesso e nas versões do Databricks Runtime. Veja Onde 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 Catálogo do Unity
O modo de acesso de usuário único no Catálogo do Unity tem as seguintes limitações. Essas limitações são adicionais às limitações gerais de todos os modos de acesso do Catálogo do Unity. Consulte Limitações gerais do Catálogo do Unity.
Limitações de controle de acesso refinadas para o modo de acesso de usuário único do Catálogo do Unity
No Databricks Runtime 15.3 e inferior, não há suporte para o controle de acesso refinado na computação de usuário único. Especificamente:
- Não é possível acessar uma tabela que tenha um filtro de linha ou máscara de coluna.
- Não é possível acessar exibições dinâmicas.
- Para fazer uma leitura em qualquer exibição, você precisa ter
SELECT
em todas as tabelas e exibições referenciadas pela exibição.
Para consultar exibições dinâmicas, as exibições sobre as quais você não tem SELECT
nas tabelas e nas exibições subjacentes e nas tabelas com filtros de linha ou máscaras de coluna, use um destes procedimentos:
Um SQL warehouse.
Computação com modo de acesso compartilhado.
Compute 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 dá suporte ao controle de acesso refinado na computação de usuário único. Para aproveitar a filtragem de dados fornecida no Databricks Runtime 15.4 LTS e superior, verifique se o workspace 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 encargos de computação sem servidor ao usar a 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.
Limitações de tabela de streaming e exibição materializadas para o modo de acesso de usuário único do Catálogo do Unity
No Databricks Runtime 15.3 e inferior, você não pode usar a computação de usuário único para consultar tabelas que foram criadas usando um pipeline do Delta Live Tables, incluindo tabelas de streaming e exibições materializadas, se essas tabelas pertencerem a 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 um dos seguintes:
Um SQL warehouse.
Compute com o modo de acesso compartilhado no Databricks Runtime 13.3 LTS ou superior.
Compute com o modo de acesso de usuário único no Databricks Runtime 15.4 LTS ou superior.
Seu workspace 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 Catálogo do Unity
- Não há suporte para o ponto de verificação assíncrono no Databricks Runtime 11.3 e inferior.
- O
StreamingQueryListener
requer o Databricks Runtime 15.1 ou superior para usar credenciais ou interagir com objetos gerenciados pelo Catálogo do Unity na computação de usuário único.
Limitações do modo de acesso compartilhado no Catálogo do Unity
O modo de acesso compartilhado no Catálogo do Unity tem as limitações a seguir. Essas limitações são adicionais às limitações gerais de todos os modos de acesso do Catálogo do Unity. Consulte Limitações gerais do Catálogo do Unity.
Não há suporte para ML do Databricks Runtime e a Biblioteca do Microsoft Machine Learning para Apache Spark (MLlib).
Não há suporte para trabalhos spark-submit.
No Databricks Runtime 13.3 e superior, as linhas individuais não devem exceder 128 MB.
As UDFs do PySpark não podem acessar pastas Git, arquivos de workspace ou volumes para importar módulos no Databricks Runtime 14.2 e inferior.
A raiz e as montagens do DBFS dão suporte a FUSE.
Quando você usa o modo de acesso compartilhado com a passagem de credencial, os recursos do Catálogo do Unity são desabilitados.
Não há suporte para os contêineres personalizados.
Suporte à linguagem para o modo de acesso compartilhado do Catálogo do Unity
- Não há suporte para o R.
- Há suporte para o Scala no Databricks Runtime 13.3 e superior.
- No Databricks Runtime 15.4 LTS e posterior, todas as bibliotecas Java ou Scala (arquivos JAR) agrupadas com o Databricks Runtime estão disponíveis na computação nos modos de acesso do Catálogo do Unity.
- Para o Databricks Runtime 15.3 ou inferior na computação que usa o modo de acesso compartilhado, defina a configuração
spark.databricks.scala.kernel.fullClasspath.enabled
do Spark comotrue
.
Limitações de API do Spark e requisitos para o modo de acesso compartilhado do Catálogo do Unity
- As APIs RDD não têm suporte.
- Só há suporte para o DBUtils e outros clientes que leem diretamente os dados do armazenamento em nuvem quando você usa um local externo para acessar o local de armazenamento. Confira Crie um local externo para conectar o armazenamento em nuvem ao Azure Databricks.
- O Spark Context (
sc
),spark.sparkContext
esqlContext
não tem suporte para o Scala em nenhum Databricks Runtime nem para o Python no Databricks Runtime 14.0 e superior.- O Databricks recomenda usar a variável
spark
para interagir com a instânciaSparkSession
. - Também não há suporte para as seguintes funções
sc
:emptyRDD
,range
,init_batched_serializer
,parallelize
,pickleFile
,textFile
,wholeTextFiles
,binaryFiles
,binaryRecords
,sequenceFile
,newAPIHadoopFile
,newAPIHadoopRDD
,hadoopFile
,hadoopRDD
,union
,runJob
,setSystemProperty
,uiWebUrl
,stop
,setJobGroup
,setLocalProperty
egetConf
.
- O Databricks recomenda usar a variável
- As seguintes operações de API do Conjunto de Dados do Scala exigem o Databricks Runtime 15.4 LTS ou superior:
map
,mapPartitions
,foreachPartition
,flatMap
,reduce
efilter
.
Limitações de UDF e requisitos para o modo de acesso compartilhado do Catálogo do Unity
As funções definidas pelo usuário (UDFs) têm as seguintes limitações no modo de acesso compartilhado:
UDFs do Hive não têm suporte.
O
applyInPandas
e omapInPandas
exigem o Databricks Runtime 14.3 ou superior.As UDFs escalares do Scala exigem o Databricks Runtime 14.2 ou superior. Não há suporte para outras UDFs e UDAFs do Scala.
No Databricks Runtime 14.2 e versões anteriores, o uso de uma versão personalizada de
grpc
,pyarrow
ouprotobuf
em uma UDF PySpark através de bibliotecas com escopo de notebook ou escopo de cluster não é suportado porque a versão instalada é sempre preferida. Para encontrar a versão das bibliotecas instaladas, consulte a seção Ambiente do Sistema da versão específica do Databricks Runtime notas sobre a versão.As UDFs escalares do Python e as UDFs do Pandas exigem o Databricks Runtime 13.3 LTS ou superior.
As UDFs não escalares do Python e do Pandas, incluindo UDAFs, UDTFs e Pandas no Spark, exigem o Databricks Runtime 14.3 LTS ou superior.
Consulte UDFs (funções definidas pelo usuário) no Catálogo do Unity.
Limitações de streaming e requisitos para o modo de acesso compartilhado do Catálogo do Unity
Observação
Algumas das opções listadas do Kafka têm suporte limitado quando usadas para configurações com suporte no Azure Databricks. Todas as limitações listadas do Kafka são válidas para processamento em lote e de fluxos. Confira Processamento de fluxos com o Apache Kafka e o Azure Databricks.
- Para o Scala, não há suporte para
foreach
,foreachBatch
,StreamingListeners
eFlatMapGroupWithState
. - 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.- Você não pode acessar o submódulo
dbutils.widgets
dentro da função. - Quaisquer arquivos, módulos ou objetos referenciados na função devem ser serializáveis e disponíveis no Spark.
- Para o Scala,
from_avro
requer o Databricks Runtime 14.2 ou superior. - O
applyInPandasWithState
exige o Databricks Runtime 14.3 LTS ou superior. - Não há suporte para trabalhar com fontes de soquete.
- A
sourceArchiveDir
deve estar no mesmo local externo que a origem quando você usaoption("cleanSource", "archive")
com uma fonte de dados gerenciada pelo Catálogo do Unity. - Para fontes e coletores 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
- Não há suporte para as opções do Kafka a seguir no Databricks Runtime 13.3 LTS e superior e não há suporte para elas 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
- O
StreamingQueryListener
requer o Databricks Runtime 14.3 LTS ou superior para usar credenciais ou interagir com objetos gerenciados pelo Catálogo do Unity na computação compartilhada.
Limitações de acesso à rede e ao sistema de arquivos e requisitos para o modo de acesso compartilhado do Catálogo do Unity
Você precisa 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 versões anteriores, você só pode criar conexões de rede para as portas 80 e 443.
Não é possível se conectar ao serviço de metadados de instância ou ao Azure WireServer.
Limitações gerais do Catálogo do Unity
As limitações a seguir se aplicam a todos os modos de acesso habilitados para o Catálogo do Unity.
Limitações de streaming para o Catálogo do Unity
- Não há suporte para o modo de processamento contínuo do Apache Spark. Consulte Processamento contínuo no Guia de programação de streaming estruturado do Spark.
Confira também Limitações de streaming para o modo de acesso de usuário único do Catálogo do Unity e Limitações de streaming e requisitos para o modo de acesso compartilhado do Catálogo do Unity.
Para saber mais sobre streaming com o Catálogo do Unity, confira Usando o Catálogo do Unity com o Streaming Estruturado.