sem servidor compute limitações
Este artigo explica as limitações atuais do serverless compute para Notebook e Job. Ele começa com uma visão geral das considerações mais importantes e, em seguida, fornece uma lista de referência abrangente das limitações.
Suporte a idiomas e API
- R não é suportado.
- Somente as APIs do Spark Connect são suportadas. As APIs RDD do Spark não são suportadas.
- Spark Connect, usado pela compute serverless , adia a análise e a resolução de nomes para o momento da execução, o que pode alterar o comportamento do seu código. Veja Comparar Spark Connect com Spark Classic.
- ANSI SQL é o default ao escrever SQL. Desative o modo ANSI configurando
spark.sql.ansi.enabledparafalse. - Ao criar um DataFrame a partir do uso local de dados
spark.createDataFrame, o tamanho das linhas não pode exceder 128 MB.
Acesso e armazenamento de dados
-
O senhor deve usar o site Unity Catalog para se conectar a uma fonte de dados externa. Use locais externos para acessar o armazenamento em nuvem.
-
O acesso ao DBFS é limitado. Em vez disso, use volumes Unity Catalog ou arquivosworkspace .
-
Não há suporte para coordenadas Maven.
-
A visualização da temperatura global não é suportada. Quando for necessário transferir dados entre sessões, Databricks recomenda o uso de visualizações temporárias de sessão ou a criação de tabelas.
-
MontagensDBFS com perfil de instância AWS não são suportadas.
Funções definidas pelo usuário (UDFs)
- As funções definidas pelo usuário (UDFs) não podem acessar a Internet. Por esse motivo, o comando CREATE FUNCTION (External) não é compatível. A Databricks recomenda o uso de CREATE FUNCTION (SQL e Python) para criar UDFs.
- O código personalizado definido pelo usuário, como UDFs,
mapemapPartitions, não pode exceder 1 GB de uso de memória. - As UDFs (funções definidas pelo usuário) em Scala não podem ser usadas dentro de funções de ordem superior.
Interface do usuário e registro de logs
- O site Spark UI não está disponível. Em vez disso, use o perfil de consulta para view informações sobre suas consultas Spark. Consulte Perfil de consulta.
- logs Spark não estão disponíveis. Os usuários têm acesso apenas aos logs de aplicativos do lado do cliente.
Acesso à rede e workspace
- O acesso entreworkspace é permitido somente se o espaço de trabalho estiver na mesma região e o destino workspace não tiver um IP ACL ou um PrivateLink front-end configurado.
- Não há suporte para o Databricks Container Services.
limitações de transmissão
compute sem servidor suporta os seguintes gatilhos de transmissão estruturada:
Trigger.AvailableNow()Databricks recomenda este modo de gatilho para compute serverless .Trigger.Once()Este modo obsoleto é suportado, mas não recomendado.
Os seguintes gatilhos não são suportados em compute serverless :
Trigger.Continuous(interval).Trigger.ProcessingTime(interval).- Por default, se você não especificar um modo de gatilho, Apache Spark define o gatilho como
Trigger.ProcessingTime("0 seconds"). Você precisa configurar um gatilho compatível no compute serverless .
- Por default, se você não especificar um modo de gatilho, Apache Spark define o gatilho como
Se você tentar usar um gatilho não suportado, a consulta gera um erro INFINITE_STREAMING_TRIGGER_NOT_SUPPORTED.
Para cargas de trabalho de transmissão contínua, use o modo de pipeline acionado em vez do pipeline contínuo no modo contínuo em serverless ou use Trigger.AvailableNow() em um Job de execução contínua.
Todas as limitações de transmissão no modo de acesso padrão também se aplicam. Veja as limitações de transmissão.
Limitações do notebook
- Scala e R não são suportados no Notebook.
- Bibliotecas JAR não são suportadas no Notebook. Para soluções alternativas, consulte Práticas recomendadas para compute serverless. Tarefas JAR em Jobs são suportadas. Consulte a tarefaJAR para Job.
- Notebook-As bibliotecas com escopo não são armazenadas em cache nas sessões de desenvolvimento.
- O compartilhamento de tabelas TEMP e a visualização ao compartilhar um Notebook entre usuários não são suportados.
- Não há suporte para o preenchimento automático e o Variable Explorer para quadros de dados no Notebook.
- Em default, o novo Notebook é salvo no formato
.ipynb. Se o Notebook for salvo no formato de origem, os metadados do serverless podem não ser capturados corretamente e alguns recursos podem não funcionar como esperado. - Notebook não são suportadas. Use as políticas orçamentárias doserverless para marcar o uso do serverless.
Job limitações
- A tarefa logs não é isolada por tarefa execução. Os registros conterão a saída de várias tarefas.
- A tarefa biblioteca não é compatível com a tarefa Notebook. Em vez disso, use a biblioteca com escopo de Notebook. NotebookConsulte -scoped Pythonbiblioteca.
- Por default, os trabalhos serverless não têm tempo limite de execução de consulta. Você pode definir um tempo limite de execução para consultas de trabalho usando a propriedade
spark.databricks.execution.timeout. Para obter mais detalhes, consulte Configurar propriedades Spark para Notebook e Job serverless.
limitações específicas do computador
Não há suporte para os seguintes recursos específicos do site compute:
- Políticas de compute
- script de inicialização com escopo de computação
- biblioteca com escopo de computação, incluindo fonte de dados personalizada e extensões do site Spark. Em vez disso, use a biblioteca com escopo de Notebook.
- instânciaPools
- computar evento logs
- A maioria das configurações de Apache Spark compute . Para obter uma lista das configurações compatíveis, consulte Configurar propriedades do Spark para serverless Notebook e Job.
- variável de ambiente. Em vez disso, o site Databricks recomenda o uso de widgets para criar parâmetros de trabalho e tarefa.
Limitações de cache
- Os metadados são armazenados em cache nas sessões compute serverless . Por esse motivo, o contexto da sessão pode não ser totalmente redefinido ao trocar de catálogo. Para limpar o contexto da sessão, reinicie o recurso compute serverless ou inicie uma nova sessão.
- APIs de cache de dataframe e SQL não são suportadas em compute serverless . O uso de qualquer uma dessas APIs ou comandos SQL resulta em uma exceção.
Hive limitações
-
Não há suporte para as tabelas Hive SerDe. Além disso, não há suporte para o comando LOAD DATA correspondente, que carrega dados em uma tabela Hive SerDe. O uso do comando resultará em uma exceção.
O suporte para fontes de dados é limitado a AVRO, BINARYFILE, CSV, DELTA, JSON, Kafka, ORC, Parquet, ORC, TEXT, e XML.
-
Hive (por exemplo,,,
${env:var}${configName}``${system:var}spark.sql.variablee) ou referências a variáveis de configuração usando a${var}sintaxe não são suportadas. O uso de variáveis do Hive resultará em uma exceção.Em vez disso, use DECLARE VARIABLE, SET VARIABLE e referências a variáveis de sessão SQL e marcadores de parâmetros ('?', ou '') para declarar, modificar e referenciar o estado da sessão. Você também pode usar a cláusula IDENTIFIER para parametrizar nomes de objetos em muitos casos.
Fonte de dados suportada
O compute sem servidor é compatível com a seguinte fonte de dados para operações DML (gravação, atualização, exclusão):
CSVJSONAVRODELTAKAFKAPARQUETORCTEXTUNITY_CATALOGBINARYFILEXMLSIMPLESCANICEBERG
serverless compute suporta a seguinte fonte de dados para operações de leitura:
CSVJSONAVRODELTAKAFKAPARQUETORCTEXTUNITY_CATALOGBINARYFILEXMLSIMPLESCANICEBERGMYSQLPOSTGRESQLSQLSERVERREDSHIFTSNOWFLAKESQLDW(Azure Synapse)DATABRICKSBIGQUERYORACLESALESFORCESALESFORCE_DATA_CLOUDTERADATAWORKDAY_RAASMONGODB