Partilhar via


Limitações da computação sem servidor

Este artigo explica as limitações atuais da computação sem servidor para notebooks e trabalhos. Começa com uma visão geral das considerações mais importantes e, em seguida, fornece uma lista de referência abrangente de limitações.

Limitações gerais

Antes de criar novas cargas de trabalho ou migrar cargas de trabalho para computação sem servidor, primeiro considere as seguintes limitações:

  • A linguagem R não é suportada.
  • Apenas as APIs do Spark Connect são suportadas. As APIs RDD do Spark não são suportadas.
  • O Spark Connect, que é usado pela computação sem servidor, adia a análise e a resolução de nomes para o tempo de execução, o que pode alterar o comportamento do seu código. Consulte Comparar o Spark Connect com o Spark Classic.
  • ANSI SQL é o padrão ao escrever SQL. Desative o modo ANSI definindo spark.sql.ansi.enabled como false.
  • O Databricks Container Services não é suportado.
  • Você deve usar o Unity Catalog para se conectar a fontes de dados externas. Use locais externos para acessar o armazenamento em nuvem.
  • As funções definidas pelo utilizador (UDFs) não podem aceder à Internet. Por esta razão, o comando CREATE FUNCTION (Externo) não é suportado. O Databricks recomenda o uso de CREATE FUNCTION (SQL e Python) para criar UDFs.
  • Código personalizado definido pelo utilizador, como UDFs, map, e mapPartitions, não pode exceder 1 GB de utilização de memória.
  • Ao criar um DataFrame a partir de dados locais usando spark.createDataFrameo , os tamanhos de linha não podem exceder 128MB.
  • A interface do usuário do Spark não está disponível. Em vez disso, use o perfil de consulta para exibir informações sobre suas consultas do Spark. Consulte Perfil de consulta.
  • Os logs do Spark não estão disponíveis. Os usuários só têm acesso aos logs de aplicativos do lado do cliente.
  • O acesso entre espaços de trabalho só é permitido se os espaços de trabalho estiverem na mesma região e o espaço de trabalho de destino não tiver uma ACL IP ou um PrivateLink front-end configurado.
  • Não há suporte para exibições temporárias globais. O Databricks recomenda o uso de exibições temporárias de sessão ou a criação de tabelas onde a passagem de dados entre sessões é necessária.
  • As coordenadas Maven não são suportadas.
  • O acesso ao DBFS é limitado. Use volumes do Unity Catalog ou ficheiros de área de trabalho em vez disso.

Limitações de streaming

Limitações dos notebooks

  • Scala e R não são suportados em notebooks.
  • As bibliotecas JAR não são suportadas em blocos de notas. Para obter soluções alternativas, consulte Práticas recomendadas para computação sem servidor. As tarefas JAR em trabalhos são suportadas. Consulte Tarefa JAR para trabalhos.
  • As bibliotecas de notebook não são armazenadas em cache durante as sessões de desenvolvimento.
  • Não há suporte para o compartilhamento de tabelas e exibições TEMP ao compartilhar um bloco de anotações entre usuários.
  • O Preenchimento Automático e o Explorador de Variáveis para quadros de dados em cadernos não são suportados.
  • Por padrão, os novos cadernos são salvos no formato .ipynb. Se o seu bloco de notas estiver guardado no formato de origem, os metadados sem servidor poderão não ser capturados corretamente e algumas funcionalidades poderão não funcionar como esperado.
  • Não há suporte para tags de notebook. Use políticas de orçamento sem servidor para marcar o uso sem servidor.

Limitações do trabalho

Limitações específicas da computação

Não há suporte para os seguintes recursos específicos de computação:

Limitações de cache

Limitações do Hive

  • Tabelas Hive SerDe não são suportadas. Além disso, o comando LOAD DATA correspondente que carrega dados em uma tabela Hive SerDe não é suportado. Usar o 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.

  • Variáveis Hive (por exemplo, ${env:var}, ${configName}, ${system:var} e spark.sql.variable) ou referências de variáveis de configuração usando a sintaxe ${var} não são suportadas. O uso de variáveis do Hive resultará em uma exceção.

    Em vez disso, use DECLARE VARIABLE, SET VARIABLEe referências de variáveis de sessão SQL e marcadores de parâmetro ('?', ou ':var') 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.

Fontes de dados suportadas

A computação sem servidor suporta as seguintes fontes de dados para operações DML (gravação, atualização, exclusão):

  • CSV
  • JSON
  • AVRO
  • DELTA
  • KAFKA
  • PARQUET
  • ORC
  • TEXT
  • UNITY_CATALOG
  • BINARYFILE
  • XML
  • SIMPLESCAN
  • ICEBERG

A computação sem servidor suporta as seguintes fontes de dados para operações de leitura:

  • CSV
  • JSON
  • AVRO
  • DELTA
  • KAFKA
  • PARQUET
  • ORC
  • TEXT
  • UNITY_CATALOG
  • BINARYFILE
  • XML
  • SIMPLESCAN
  • ICEBERG
  • MYSQL
  • POSTGRESQL
  • SQLSERVER
  • REDSHIFT
  • SNOWFLAKE
  • SQLDW (Sinapse do Azure)
  • DATABRICKS
  • BIGQUERY
  • ORACLE
  • SALESFORCE
  • SALESFORCE_DATA_CLOUD
  • TERADATA
  • WORKDAY_RAAS
  • MONGODB