Compartilhar via


Requisitos e limitações de computação padrão

Esta página inclui uma lista de requisitos e limitações para computação padrão. Se você estiver usando a computação clássica, o Databricks recomenda usar o modo de acesso padrão, a menos que sua carga de trabalho dependa de uma das limitações listadas abaixo.

Importante

Os scripts de inicialização e as bibliotecas têm suporte diferente nos modos de acesso e nas versões do Databricks Runtime. Consulte Onde os scripts de inicialização podem ser instalados? e Bibliotecas com escopo de computação.

Limitações de computação padrão atuais

As seções a seguir listam limitações para computação padrão com base na versão mais recente do Databricks Runtime. Para obter limitações que se aplicam a versões mais antigas do Databricks Runtime, consulte limitações dependentes do Runtime.

Se esses recursos forem necessários para sua carga de trabalho, use a computação dedicada .

Limitações gerais de computação padrão

  • Não há suporte para o Databricks Runtime para ML. Em vez disso, instale qualquer biblioteca ML não agrupada com o Databricks Runtime como uma biblioteca com escopo de computação.
  • Não há suporte para computação habilitada para GPU.
  • Não há suporte para tarefas de trabalho de envio do Spark. Em vez disso, use uma tarefa JAR.
  • O DBUtils e outros clientes só podem ler do armazenamento em nuvem usando um local externo.
  • Não há suporte para os contêineres personalizados.
  • A raiz e as montagens do DBFS dão suporte a FUSE.

Limitações de idioma

  • Não há suporte para o R.

Limitações da API do Spark

  • Contexto do Spark (sc) spark.sparkContexte sqlContext não há suporte para Scala:
    • O Azure Databricks recomenda usar a spark variável para interagir com a SparkSession instância.
    • 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 e getConf.
  • A propriedade de spark.executor.extraJavaOptions não é suportada.
  • Ao criar um DataFrame usando dados spark.createDataFramelocais, os tamanhos de linha não podem exceder 128 MB.
  • As APIs RDD não têm suporte.
  • O Spark Connect, que é usado em versões mais recentes do Databricks Runtime, 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.

Limitações da UDF

Limitações de streaming

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.

  • Você não pode usar os formatos statestore e state-metadata para consultar informações de estado das consultas de streaming com estado.
  • Não há suporte para trabalhar com fontes de soquete.
  • O sourceArchiveDir precisa estar no mesmo local externo que a origem quando você usa option("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

Limitações do sistema de arquivos e rede

  • A computação padrão executa comandos como um usuário de baixo privilégio proibido de acessar partes confidenciais do sistema de arquivos.
  • Não há suporte para caminhos no estilo POSIX (/) para DBFS.
  • Somente administradores de workspace e usuários com permissões ANY FILE podem interagir diretamente com arquivos usando DBFS.
  • Não é possível se conectar ao serviço de metadados de instância ou ao Azure WireServer.

Limitações do kernel scala

As seguintes limitações se aplicam ao usar o kernel scala na computação padrão:

  • Determinadas classes não poderão ser usadas em seu código se entrarem em conflito com a biblioteca interna do kernel de amêndoa, principalmente Input. Para obter uma lista das importações definidas da amêndoa, consulte as importações de amêndoas.
  • Não há suporte para fazer logon diretamente no log4j.
  • Na interface do usuário, não há suporte para a lista suspensa de esquema do dataframe.
  • Se o driver atingir o OOM, o Scala REPL não será encerrado.
  • //connector/sql-aws-connectors:sql-aws-connectors não está no destino de bazel do Scala REPL, use os resultados em ClassNotFoundException.
  • O kernel Scala é incompatível com SQLImplicits.

Limitações dependentes de runtime

As limitações a seguir foram resolvidas por meio de atualizações de runtime, mas ainda poderão ser aplicadas à carga de trabalho se você usar um runtime mais antigo.

Suporte ao idioma

Característica Versão necessária do Databricks Runtime
Scala 13.3 ou superior
Todas as bibliotecas Java e Scala empacotadas em runtime disponíveis por padrão 15.4 LTS ou superior (para 15.3 ou inferior, defina spark.databricks.scala.kernel.fullClasspath.enabled=true)

Suporte à API do Spark

Característica Versão necessária do Databricks Runtime
Spark ML 17.0 ou superior
Python: SparkContext (sc), , spark.sparkContextsqlContext 14.0 ou superior
Scala Dataset ops: map, , mapPartitions, foreachPartition, flatMap, , reduce, filter 15.4 LTS ou superior

Suporte à UDF

Característica Versão necessária do Databricks Runtime
applyInPandas, mapInPandas 14.3 LTS ou superior
UDFs escalares scala e UDAFs scala 14.3 LTS ou superior
Importar módulos de pastas git, arquivos de workspace ou volumes em UDFs do PySpark 14.3 LTS ou superior
Usar versões personalizadas de grpc, pyarrowou protobuf em UDFs do PySpark por meio de bibliotecas com escopo de notebook ou computação 14.3 LTS ou superior
UDFs de Python e Pandas não escalares, incluindo UDAFs, UDTFs e Pandas no Spark 14.3 LTS ou superior
UDFs escalares do Python e UDFs do Pandas 13.3 LTS ou superior

Suporte a streaming

Característica Versão necessária do Databricks Runtime
transformWithStateInPandas 16.3 ou superior
applyInPandasWithState 14.3 LTS ou superior
Scala foreach 16.1 ou superior
Scala foreachBatch e flatMapGroupsWithState 16.2 ou superior
Scala from_avro 14.2 ou superior
Opções kafka.ssl.truststore.location do Kafka e kafka.ssl.keystore.location (o local especificado deve ser um local externo gerenciado pelo Catálogo do Unity) 13.3 LTS ou superior
Scala StreamingQueryListener 16.1 ou superior
Python StreamingQueryListener interagindo com objetos gerenciados pelo Catálogo do Unity 14.3 LTS ou superior

Além disso, para Python, foreachBatch tem as seguintes alterações de comportamento no Databricks Runtime 14.0 e acima:

  • Os comandos print() 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.

Suporte a rede e sistema de arquivos

Característica Versão necessária do Databricks Runtime
Conexões com portas diferentes de 80 e 443 12.2 LTS ou superior