Compartilhar via


Limitações de computação sem servidor

Este artigo explica as limitações atuais da computação sem servidor para notebooks e trabalhos. Ele 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 a computação sem servidor, primeiro considere as seguintes limitações:

  • Não há suporte para o R.
  • Há suporte apenas para APIs do Spark Connect. Não há suporte para as APIs RDD do Spark.
  • 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 código. Consulte Comparar o Spark Connect com o Spark Classic.
  • O SQL ANSI é o padrão ao escrever SQL. Desative o modo ANSI definindo spark.sql.ansi.enabled como false.
  • Não há suporte para os Serviços de Contêiner do Databricks.
  • Você deve usar o Catálogo do Unity para se conectar a fontes de dados externas. Use locais externos para acessar o armazenamento em nuvem.
  • As UDFs (funções definidas pelo usuário) não podem acessar a Internet. Por isso, o comando CREATE FUNCTION (Externo) não tem suporte. O Databricks recomenda usar CREATE FUNCTION (SQL e Python) para criar UDFs.
  • O código personalizado definido pelo usuário, como UDFs emapmapPartitions, não pode exceder 1 GB no uso de memória.
  • Ao criar um DataFrame usando dados spark.createDataFramelocais, os tamanhos de linha não podem exceder 128 MB.
  • 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. Confira Perfil de consulta.
  • Os logs do Spark não estão disponíveis. Os usuários só têm acesso aos logs do aplicativo do lado do cliente.
  • O acesso entre workspaces só será permitido se os workspaces estiverem na mesma região e o workspace 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 usar exibições temporárias de sessão ou criar tabelas em que a passagem de dados entre sessões é necessária.
  • Não há suporte para coordenadas maven.
  • O acesso ao DBFS é limitado. Em vez disso, use volumes do Catálogo do Unity ou arquivos de espaço de trabalho.

Limitações de streaming

Limitações de notebooks

  • Não há suporte para Scala e R em notebooks.
  • Não há suporte para bibliotecas JAR em notebooks. Para obter soluções alternativas, consulte Melhores práticas para computação sem servidor. Há suporte para tarefas JAR em trabalhos. Consulte Tarefa JAR para trabalhos.
  • Bibliotecas com escopo de notebook não são armazenadas em cache em sessões de desenvolvimento.
  • Não há suporte para o compartilhamento de tabelas temporárias e exibições ao compartilhar um notebook entre os usuários.
  • Não há suporte para Preenchimento Automático e Gerenciador de Variáveis para dataframes em notebooks.
  • Por padrão, novos blocos de anotações são salvos no .ipynb formato. Se o bloco de anotações for salvo no formato de origem, os metadados sem servidor poderão não ser capturados corretamente e alguns recursos poderão não funcionar conforme o 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 de trabalho

  • Os logs de tarefas não são isolados por execução de tarefa. Os logs conterão a saída de várias tarefas.
  • Não há suporte para bibliotecas de tarefas para tarefas de notebook. Em vez disso, use bibliotecas com escopo de notebook. Confira as bibliotecas Python no escopo do notebook.
  • Por padrão, trabalhos sem servidor 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 spark.databricks.execution.timeout propriedade. Para obter mais detalhes, consulte Configurar propriedades do Spark para notebooks e trabalhos sem servidor.

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

  • Não há suporte para tabelas Hive SerDe. Além disso, não há suporte para o comando correspondente LOAD DATA que carrega dados em uma tabela do SerDe do Hive. 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.

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

    Em vez disso, use DECLARE VARIABLESET VARIABLEreferê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 objeto em muitos casos.

Fontes de dados com suporte

A computação sem servidor dá suporte às 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 dá suporte às 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 (Azure Synapse)
  • DATABRICKS
  • BIGQUERY
  • ORACLE
  • SALESFORCE
  • SALESFORCE_DATA_CLOUD
  • TERADATA
  • WORKDAY_RAAS
  • MONGODB