Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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 a sua carga de trabalho, utilize computação dedicada em vez disso.
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.
- 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.sparkContextesqlContextnão são suportados para Scala:- O Azure Databricks recomenda o uso da
sparkvariável para interagir com aSparkSessioninstância. - As seguintes
scfunções também não são suportadas:emptyRDD,range,init_batched_serializer,parallelize,pickleFiletextFilewholeTextFilesbinaryFilesbinaryRecordssequenceFilenewAPIHadoopFilenewAPIHadoopRDDhadoopFilehadoopRDDunionrunJobsetSystemPropertyuiWebUrlstopsetJobGroupsetLocalPropertygetConf.
- O Azure Databricks recomenda o uso da
- Não é suportado definir certas propriedades de configuração do Spark . Criar ou editar um cluster que define uma propriedade restrita falha com um erro. Para a lista completa, veja limitações de configuração do Spark.
- Ao criar um DataFrame a partir de dados locais usando o
spark.createDataFrame, 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
- Não há suporte para UDFs do Hive. Em vez disso, use UDFs no Unity Catalog.
- As UDFs Scala não podem ser usadas dentro de funções de ordem superior.
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. Ver Ligar ao Apache Kafka.
- Não há suporte para trabalhar com fontes de soquete.
- O
sourceArchiveDirdeve estar no mesmo local externo da fonte quando você usaoption("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.classkafka.sasl.login.callback.handler.classkafka.sasl.login.classkafka.partition.assignment.strategy
- Python
foreachBatchnão suportaThreadPoolExecutorexecução multithread. A execução multi-thread pode não gerar erros, mas pode resultar em corrupção de dados ou resultados inconsistentes.
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 das variáveis ambientais
Apenas um conjunto pré-definido de variáveis de ambiente está disponível para o motor Spark e scripts de init no computo padrão. Variáveis de ambiente que defines num cluster mas que não estão neste conjunto continuam disponíveis para o teu código de utilizador, incluindo UDFs, mas não estão disponíveis para o motor Spark ou scripts de init.
Este conjunto inclui variáveis comuns de configuração, credenciais e tempo de execução. Os seguintes exemplos não são exaustivos:
- Rede e proxies:
HTTP_PROXY,HTTPS_PROXY,NO_PROXY - Certificados TLS:
REQUESTS_CA_BUNDLE,SSL_CERT_FILE - Credenciais e região AWS:
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,AWS_REGION,AWS_DEFAULT_REGION - Azure credentials:
AZURE_CLIENT_ID,AZURE_CLIENT_SECRET,AZURE_TENANT_ID - Credenciais do Google Cloud:
GOOGLE_APPLICATION_CREDENTIALS - Conexão do Databricks:
DATABRICKS_HOST,DATABRICKS_TOKEN - Localização e fuso horário:
TZ,LANG,LC_ALL - Paralelismo e utilização de threads:
OMP_NUM_THREADS,OPENBLAS_NUM_THREADS,MKL_NUM_THREADS,NUMEXPR_NUM_THREADS - Observabilidade:
DD_API_KEY,DD_SITE,DD_ENV - Predefinições do Unity Catalog:
CATALOG,CATALOG_NAME
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-connectorsnão está no alvo bazel do Scala REPL, utilize os resultados emClassNotFoundException. - 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 integradas ao tempo de execução estão disponíveis automaticamente. | 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 |
|---|---|
| Spark 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 a partir de diretórios Git, ficheiros de área de trabalho ou volumes em UDFs em PySpark. | 14.3 LTS ou superior |
Use versões personalizadas do grpc, pyarrow, ou protobuf em UDFs do PySpark por meio de bibliotecas com escopo de notebook ou de computação. |
14.3 LTS ou superior |
| UDFs de Python e Pandas não escalares, incluindo UDAFs, UDTFs e Pandas em Spark | 14.3 LTS ou superior |
| UDFs escalares de Python e UDFs de 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.widgetssubmó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 |
Limitações da configuração do Spark
No Databricks Runtime 19 e superiores, não pode definir as seguintes propriedades de configuração do Spark no modo de acesso padrão. Criar ou editar um cluster que defina qualquer uma destas propriedades, ou uma propriedade que comece com um dos prefixos listados (mostrado com um final .*), falha com um erro. Remova estas propriedades da configuração do cluster, políticas de computação e definições de tarefas antes de atualizar.
| Categoria | Propriedades restritas da configuração do Spark |
|---|---|
| JVM, classes path e opções nativas de bibliotecas |
spark.driver.extraJavaOptions, spark.driver.defaultJavaOptions, spark.executor.extraJavaOptions, spark.executor.defaultJavaOptions, spark.yarn.am.extraJavaOptions, spark.yarn.am.defaultJavaOptions, spark.driver.extraClassPath, spark.executor.extraClassPath, spark.driver.extraLibraryPath, spark.executor.extraLibraryPath |
| Injeção de variáveis ambientais |
spark.executorEnv.*, spark.yarn.appMasterEnv.*, spark.kubernetes.driverEnv.* |
| Bibliotecas, JARs e ficheiros |
spark.jars, spark.jars.packages, spark.jars.ivy, spark.jars.ivySettings, spark.jars.repositories, spark.files, spark.archives, spark.submit.pyFiles, spark.sql.maven.additionalRemoteRepositories, spark.yarn.jars, spark.yarn.archive, spark.yarn.dist.jars, spark.yarn.dist.files, spark.yarn.dist.archives, spark.yarn.dist.pyFiles, spark.yarn.dist.forceDownloadSchemes |
| JARs metastore de colmeia |
spark.sql.hive.metastore.jars, spark.sql.hive.metastore.jars.path |
| Executáveis em Python e R |
spark.pyspark.python, spark.pyspark.driver.python, spark.r.command, spark.r.driver.command, spark.r.shell.command |
| Configuração do pod do Kubernetes |
spark.kubernetes.container.image, spark.kubernetes.driver.container.image, spark.kubernetes.executor.container.image, spark.kubernetes.driver.podTemplateFile, spark.kubernetes.executor.podTemplateFilespark.kubernetes.driver.volumes.*, spark.kubernetes.executor.volumes.*, spark.kubernetes.driver.secrets.*, spark.kubernetes.executor.secrets.* |
| Acesso ao sistema de ficheiros local |
spark.connect.copyFromLocalToFs.allowDestLocal, spark.sql.artifact.copyFromLocalToFs.allowDestLocal |
| Isolamento e controlo de acesso no Azure Databricks |
spark.databricks.pyspark.enableProcessIsolation, spark.databricks.pyspark.enablePy4JSecurity, , spark.databricks.pyspark.runAsLowPrivilegeUser, spark.databricks.pyspark.enableIptables, spark.databricks.pyspark.onlyAllowTrustedFilesystems, spark.databricks.pyspark.trustedFilesystemsspark.databricks.pyspark.pythonUdfsOnlyspark.databricks.acl.dfAclsEnabledspark.databricks.acl.fileAccess.enabledspark.databricks.acl.allowTransformUsingspark.databricks.passthrough.enabledspark.databricks.runtimeConfigAllowlist.enabledspark.databricks.runtimeConfigAllowlist.extraConfsspark.testing.databricks.runtimeConfigAllowlist.enabledspark.databricks.sql.jdbc.enableLakeguardDriver |