Pular para o conteúdo principal

Padrão compute requisitos e limitações

Esta página inclui uma lista de requisitos e limitações para o padrão compute. Se o senhor estiver usando o compute clássico, 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.

important

O script de inicialização e a biblioteca têm suporte diferente nos modos de acesso e nas versões do site Databricks Runtime. Consulte Onde o script de inicialização pode ser instalado? e biblioteca com escopo de computação.

Padrão atual compute limitações

As seções a seguir listam as limitações do compute padrão com base na versão mais recente do Databricks Runtime. Para conhecer as limitações que se aplicam às Databricks Runtime versões anteriores do site, consulte Runtime-dependent limitations.

Se esses recursos forem necessários para sua carga de trabalho, use o site computededicado.

Padrão geral compute limitações

  • Não há suporte para o Databricks Runtime for ML. Em vez disso, instale qualquer biblioteca ML que não esteja incluída no pacote Databricks Runtime como uma biblioteca com escopo compute.
  • Não há suporte para o site compute habilitado para GPU.
  • Spark-submit A tarefa do trabalho não é suportada. Em vez disso, use uma tarefa JAR.
  • O DBUtils e outros clientes só podem ler do armazenamento cloud usando um local externo.
  • Não há suporte para contêineres personalizados.
  • DBFS root e as montagens não são compatíveis com o FUSE.

Limitações de idioma

  • R não é suportado.

Spark API limitações

  • Spark Context (sc), spark.sparkContext e sqlContext não são compatíveis com o Scala:

    • A Databricks recomenda usar a variável spark para interagir com a instância SparkSession.
    • As seguintes funções sc também não são suportadas: emptyRDD, range, init_batched_serializer, parallelize, pickleFile, textFile, wholeTextFiles, binaryFiles, binaryRecords, sequenceFile, newAPIHadoopFile, newAPIHadoopRDD, hadoopFile, hadoopRDD, union, runJob, setSystemProperty, uiWebUrl, stop, setJobGroup, setLocalProperty, getConf.
  • A propriedade de configuração do Spark spark.executor.extraJavaOptions não é compatível.

  • Ao criar um DataFrame a partir do uso local de dados spark.createDataFrame, o tamanho das linhas não pode exceder 128 MB.

  • Não há suporte para APIs RDD.

Limitações do UDF

limitações de transmissão

nota

Algumas das opções do Kafka listadas têm suporte limitado quando usadas em configurações compatíveis no Databricks. Todas as limitações listadas no site Kafka são válidas tanto para o processamento de lotes quanto para o de transmissão. Veja o processamento da transmissão com Apache Kafka e Databricks.

  • O senhor não pode usar os formatos statestore e state-metadata para consultar informações de estado para consultas de transmissão stateful.

  • transformWithState e as APIs associadas não são compatíveis.

  • Não há suporte para trabalhar com fontes de soquete.

  • O sourceArchiveDir deve estar no mesmo local externo que a fonte quando o senhor usa o option("cleanSource", "archive") com uma fonte de dados gerenciada pelo Unity Catalog.

  • Para fontes e sumidouros 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
  • O perfil de instância que configura o acesso a fontes externas, como Kafka ou Kinesis, para cargas de trabalho de transmissão não é compatível. Em vez disso, use credenciais de serviço.

Limitações da rede e do sistema de arquivos

  • Padrão compute execução comando como um usuário de baixo privilégio proibido de acessar partes sensíveis do sistema de arquivos.

  • Não há suporte para caminhos no estilo POSIX (/ ) para DBFS.

  • Somente os administradores do workspace e os usuários com permissões ANY FILE podem interagir diretamente com os arquivos usando o DBFS.

  • O senhor não pode se conectar ao serviço de metadados da instância (IMDS) ou a qualquer outro serviço em execução no site Databricks VPC. Para acessar o cloud serviço usando o boto3, use as credenciais do serviço.

Limitações do kernel do Scala

As seguintes limitações se aplicam ao uso do kernel Scala no padrão compute:

  • Certas classes não podem ser usadas em seu código se entrarem em conflito com a biblioteca interna do kernel almond, principalmente Input. Para obter uma lista das importações definidas pela amêndoa, consulte as importações de amêndoas.
  • O registro direto no log4j não é suportado.
  • Na interface do usuário, o esquema de dataframe dropdown não é compatível.
  • Se o driver atingir o OOM, o Scala REPL não será encerrado.
  • //connector/sql-aws-connectors:sql-aws-connectors não está no alvo bazel do Scala REPL, o uso resulta em ClassNotFoundException.
  • O kernel do Scala é incompatível com o 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 linguístico

Recurso

Versão necessária do Databricks Runtime

Scala

13.3 ou acima

Todos os pacotes de tempo de execução Java e Scala biblioteca disponíveis pelo default

15.4 LTS ou acima (para 15.3 ou abaixo, defina spark.databricks.scala.kernel.fullClasspath.enabled=true)

Spark API suporte

Recurso

Versão necessária do Databricks Runtime

Spark ML

17,0 ou acima

Python: SparkContext (sc), spark.sparkContext, sqlContext

14,0 ou acima

Scala Dataset ops: map, mapPartitions, foreachPartition, flatMap, reduce, filter

15,4 LTS ou acima

Suporte a UDF

Recurso

Versão necessária do Databricks Runtime

applyInPandas, mapInPandas

14,3 LTS ou acima

UDFs escalares de Scala e UDAFs de Scala

14,3 LTS ou acima

Importar módulos de pastas Git, arquivos workspace ou volumes em UDFs PySpark

14,3 LTS ou acima

Use versões personalizadas de grpc, pyarrow, ou protobuf em PySpark UDFs via Notebook ou compute-scoped biblioteca

14,3 LTS ou acima

UDFs não escalares de Python e Pandas, incluindo UDAFs, UDTFs e Pandas no Spark

14,3 LTS ou acima

UDFs escalares do Python e UDFs do Pandas

13.3 LTS ou acima

suporte à transmissão

Recurso

Versão necessária do Databricks Runtime

transformWithStateInPandas

16,3 ou acima

applyInPandasWithState

14,3 LTS ou acima

Scala foreach

16.1 ou acima

Scala foreachBatch e flatMapGroupsWithState

16.2 ou acima

Scala from_avro

14.2 ou acima

Kafka opções kafka.ssl.truststore.location e kafka.ssl.keystore.location (o local especificado deve ser um local externo gerenciado por Unity Catalog)

13.3 LTS ou acima

Scala StreamingQueryListener

16.1 ou acima

Python StreamingQueryListener interagir com objetos do Unity Catalog-gerenciar

14,3 LTS ou acima

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

  • print() comando write output to the driver logs.
  • Você não pode acessar o submódulo dbutils.widgets 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 de rede e sistema de arquivos

Recurso

Versão necessária do Databricks Runtime

Conexões com portas diferentes de 80 e 443

12.2 LTS ou acima