Partilhar 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 computação clássica, o Databricks recomenda o uso do modo de acesso padrão, a menos que sua carga de trabalho dependa de uma das limitações listadas abaixo.

Importante

Os scripts e bibliotecas Init têm suporte diferente entre modos de acesso e versões do Databricks Runtime. Consulte Onde os scripts init podem ser instalados? e Bibliotecas com Escopo de Computação.

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

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

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

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

  • O Databricks Runtime for ML não é suportado. Em vez disso, instale qualquer biblioteca de ML não empacotada com o Databricks Runtime como uma biblioteca com escopo de computação.
  • A computação habilitada para GPU não é suportada.
  • As tarefas de trabalho Spark-submit não são suportadas. Em vez disso, use uma tarefa JAR .
  • DBUtils e outros clientes só podem ler a partir do armazenamento em nuvem usando um local externo.
  • Não há suporte para contêineres personalizados.
  • As raízes e as montagens DBFS não suportam FUSE.

Limitações linguísticas

  • A linguagem R não é suportada.

Limitações da API do Spark

  • Spark Context (sc), spark.sparkContexte sqlContext não são suportados para Scala:
    • O Azure Databricks recomenda o uso da spark variável para interagir com a SparkSession instância.
    • As seguintes sc funções também não são suportadas: emptyRDD, range, init_batched_serializer, parallelize, pickleFiletextFilewholeTextFilesbinaryFilesbinaryRecordssequenceFilenewAPIHadoopFilenewAPIHadoopRDDhadoopFilehadoopRDDunionrunJobsetSystemPropertyuiWebUrlstopsetJobGroupsetLocalPropertygetConf.
  • A propriedade de configuração Sparkspark.executor.extraJavaOptions não é suportada.
  • Ao criar um DataFrame a partir de dados locais usando spark.createDataFrameo , os tamanhos de linha não podem exceder 128MB.
  • Não há suporte para APIs RDD.
  • 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 seu código. Consulte Comparar o Spark Connect com o Spark Classic.

Limitações do UDF

Limitações de streaming

Observação

Algumas das opções Kafka listadas têm suporte limitado quando usadas para configurações com suporte no Azure Databricks. Todas as limitações Kafka listadas são válidas para processamento em lote e fluxo. Consulte Processamento de fluxo com Apache Kafka e Azure Databricks.

  • Não é possível usar os formatos statestore e state-metadata para consultar informações de estado para consultas de streaming stateful.
  • Não há suporte para trabalhar com fontes de soquete.
  • O sourceArchiveDir deve estar no mesmo local externo da fonte quando você usa option("cleanSource", "archive") com uma fonte de dados gerenciada pelo Unity Catalog.
  • Para fontes e coletores Kafka, as seguintes opções não são suportadas:
    • kafka.sasl.client.callback.handler.class
    • kafka.sasl.login.callback.handler.class
    • kafka.sasl.login.class
    • kafka.partition.assignment.strategy

Limitações da rede e do sistema de arquivos

  • 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 espaço de trabalho e usuários com permissões ANY FILE podem interagir diretamente com arquivos usando DBFS.
  • Você não pode se conectar ao serviço de metadados da 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:

  • Certas classes não podem ser usadas no seu código se entrarem em conflito com a biblioteca interna do kernel Almond, mais especificamente Input. Para consultar uma lista das importações definidas de amêndoa, consulte importações de amêndoa.
  • Não há suporte para registro direto no log4j.
  • Na interface do usuário, a lista suspensa de esquema de dataframe não é suportada.
  • Se o seu driver atingir o limite de memória, o REPL do Scala não será encerrado.
  • //connector/sql-aws-connectors:sql-aws-connectors não está no alvo bazel do Scala REPL, utilize os resultados em ClassNotFoundException.
  • O kernel Scala é incompatível com SQLImplicits.

Limitações dependentes do tempo de execução

As limitações a seguir foram resolvidas por meio de atualizações de tempo de execução, mas ainda podem se aplicar à sua carga de trabalho se você usar um tempo de execução mais antigo.

Suporte de idiomas

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

Suporte à API do Spark

Característica Versão necessária do Databricks Runtime
Faísca ML 17,0 ou superior
Python: SparkContext (sc), spark.sparkContext, sqlContext 14.0 ou superior
Operações Scala Dataset : 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
Importe módulos de pastas Git, arquivos de espaço de trabalho ou volumes em UDFs do PySpark 14.3 LTS ou superior
Use versões personalizadas do grpc, pyarrowou protobuf em UDFs do PySpark por meio de bibliotecas com escopo de notebook ou computação 14.3 LTS ou superior
UDFs Python e Pandas não escalares, incluindo UDAFs, UDTFs e Pandas no Spark 14.3 LTS ou superior
UDFs escalares Python e UDFs Pandas 13.3 LTS ou superior

Suporte de 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 de Kafka e kafka.ssl.keystore.location (o local especificado deve ser um local externo gerenciado pelo Catálogo Unity) 13.3 LTS ou superior
Scala StreamingQueryListener 16.1 ou superior
Python StreamingQueryListener interagindo com objetos gerenciados pelo Unity Catalog 14.3 LTS ou superior

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

  • print() comandos gravam a saída nos registos do driver.
  • Não é possível acessar o dbutils.widgets submódulo dentro da função.
  • Todos os arquivos, módulos ou objetos referenciados na função devem ser serializáveis e estar disponíveis no Spark.

Suporte a redes e sistemas de arquivos

Característica Versão necessária do Databricks Runtime
Ligações a portos que não sejam 80 e 443 12.2 LTS ou superior