Compartilhar via


Notas sobre a versão da computação sem servidor

Este artigo explica as características e comportamentos atualmente disponíveis e futuros na computação sem servidor para notebooks e trabalhos.

Para obter mais informações sobre computação sem servidor, consulte Conectar-se à computação sem servidor.

O Azure Databricks lança periodicamente atualizações para computação sem servidor, atualizando automaticamente o runtime de computação sem servidor para dar suporte a aprimoramentos e atualizações para a plataforma. Todos os usuários recebem as mesmas atualizações, distribuídas por um curto período de tempo.

Versões de ambiente sem servidor

A computação sem servidor para notebooks e trabalhos usa versões de ambiente, que fornecem uma API de cliente estável com base no Spark Connect para garantir a compatibilidade do aplicativo. Isso permite que o Databricks atualize o servidor de forma independente, fornecendo melhorias de desempenho, aprimoramentos de segurança e correções de bugs sem a necessidade de alterações de código em cargas de trabalho.

Cada versão do ambiente inclui uma versão específica do Python e um conjunto de pacotes do Python com versões definidas. O Databricks apresenta novos recursos e correções na versão mais recente do ambiente, aplicando atualizações de segurança a todas as versões de ambiente com suporte.

Para obter notas de versões do ambiente sem servidor, consulte Versões de ambiente sem servidor.

Notas de lançamento

Esta seção inclui notas de lançamento para computação sem servidor. As notas sobre a versão são organizadas por ano e semana. A computação sem servidor sempre é executada usando a versão lançada mais recentemente listada aqui.

Versão 17.3

28 de outubro de 2025

Essa versão de computação sem servidor corresponde aproximadamente ao Databricks Runtime 17.3 LTS.

Novos recursos

  • LIMIT SUPORTE TODO para CTEs recursivos: agora você pode usar LIMIT ALL a cláusula com expressões comuns de tabela recursiva (rCTEs) para especificar explicitamente que nenhum limite de linha deve ser aplicado aos resultados da consulta. Consulte cte (expressão de tabela comum).

  • Acrescentar arquivos em volumes do Catálogo do Unity retorna um erro correto: tentar acrescentar aos arquivos existentes em volumes do Catálogo do Unity agora retorna uma mensagem de erro mais descritiva para ajudá-lo a entender e resolver o problema.

  • st_dump suporte à função: agora você pode usar a st_dump função para decompor um objeto de geometria em suas partes constituintes, retornando um conjunto de geometrias mais simples. Veja a st_dump função.

  • Agora há suporte para funções de anel interior de polígono: agora você pode usar as seguintes funções para trabalhar com anéis interiores de polígono:

  • EXECUTE IMMEDIATE usando expressões constantes: a EXECUTE IMMEDIATE instrução agora dá suporte ao uso de expressões constantes na cadeia de caracteres de consulta, permitindo uma execução de SQL dinâmica mais flexível. Consulte EXECUTE IMMEDIATE.

  • Permitir spark.sql.files.maxPartitionBytes na computação sem servidor: agora você pode configurar o spark.sql.files.maxPartitionBytes Parâmetro de configuração do Spark na computação sem servidor para controlar o número máximo de bytes a serem empacotados em uma única partição ao ler arquivos. Consulte Configurar propriedades do Spark para notebooks e trabalhos sem servidor.

Alterações de comportamento

  • Suporte a informações de atualização de MV/ST em DESCRIBE EXTENDED AS JSON: O DESCRIBE EXTENDED AS JSON comando agora inclui informações de atualização para visões materializadas e tabelas de streaming, fornecendo visibilidade do horário e do status da última atualização.

  • Adicione a coluna de metadados a DESCRIBE QUERY e DESCRIBE TABLE: Os comandos DESCRIBE QUERY e DESCRIBE TABLE agora incluem uma coluna de metadados na saída, fornecendo informações adicionais sobre as propriedades e características de cada coluna.

  • Manipulação correta de structs nulos ao remover colunas NullType: o Azure Databricks agora evita possíveis dados corrompidos ou comportamento inesperado ao lidar corretamente com valores de struct nulos ao remover colunas com NullType, NullType.

  • Manipulação aprimorada de structs nulos no Parquet: esta versão inclui melhorias na forma como os valores de struct nulos são tratados ao ler e gravar em arquivos Parquet, garantindo um comportamento mais consistente e correto.

  • Atualizar a biblioteca aws-msk-iam-auth para Kafka: a aws-msk-iam-auth biblioteca usada para autenticação IAM do Amazon MSK foi atualizada para a versão mais recente, fornecendo segurança e compatibilidade aprimoradas.

Versão 17.2

25 de setembro de 2025

Essa versão de computação sem servidor corresponde aproximadamente ao Databricks Runtime 17.2.

Novos recursos

  • ST_ExteriorRing agora há suporte para a função: agora você pode usar a ST_ExteriorRing função para extrair o limite externo de um polígono e retorná-lo como um linestring. Veja a st_exteriorring função.

  • Suporte para palavra-chave TEMPORARY na criação de visualização de métricas: agora você pode usar a palavra-chave TEMPORARY ao criar uma visualização de métricas. As exibições de métrica temporária são visíveis apenas na sessão que as criou e são descartadas quando a sessão termina. Consulte CREATE VIEW.

  • Use a E/S nativa para LokiFileSystem.getFileStatus no S3: LokiFileSystem.getFileStatus agora usa a pilha de E/S nativa para o tráfego do Amazon S3 e retorna org.apache.hadoop.fs.FileStatus objetos em vez de shaded.databricks.org.apache.hadoop.fs.s3a.S3AFileStatus.

  • O Carregador Automático infere colunas de partição no modo singleVariantColumn: O Carregador Automático agora infere colunas de partição a partir de caminhos de arquivo durante a ingestão de dados como um tipo de variante semiestruturada usando a opção singleVariantColumn. Anteriormente, as colunas de partição não eram detectadas automaticamente. Consulte as opções do Carregador Automático.

Alterações de comportamento

  • DESCRIBE CONNECTION mostra as configurações de ambiente para conexões JDBC: o Azure Databricks agora inclui configurações de ambiente definidas pelo usuário na DESCRIBE CONNECTION saída para conexões JDBC que dão suporte a drivers personalizados e são executadas isoladamente. Outros tipos de conexão permanecem inalterados.

  • Opção para truncar o histórico uniforme durante a migração de tabelas gerenciadas: agora você pode truncar o histórico uniforme ao migrar tabelas com Uniform/Iceberg habilitado usando ALTER TABLE...SET MANAGED. Isso simplifica as migrações e reduz o tempo de inatividade em comparação com desabilitar e reabilitar o Uniform manualmente.

  • Resultados corretos para split regex vazio e limite positivo: o Azure Databricks agora retorna resultados corretos ao usar split function com um regex vazio e um limite positivo. Anteriormente, a função truncava incorretamente a cadeia de caracteres restante em vez de incluí-la no último elemento.

  • Correção de url_decode e de try_url_decode no tratamento de erros no Photon: Agora, no Photon, try_url_decode() e url_decode() com failOnError = false retornam NULL para cadeias de caracteres codificadas em URL inválidas, em vez de fazer a consulta falhar.

  • Ambiente de execução compartilhada para UDTFs do Python do Catálogo do Unity: o Azure Databricks agora compartilha o ambiente de execução para UDTFs (funções de tabela definidas pelo usuário) do Python do mesmo proprietário e da sessão Spark. Uma cláusula opcional STRICT ISOLATION está disponível para desabilitar o compartilhamento de UDTFs com efeitos colaterais, como modificar variáveis de ambiente ou executar código arbitrário.

Versão 17.1

19 de agosto de 2025

Essa versão de computação sem servidor corresponde aproximadamente ao Databricks Runtime 17.1.

Novos recursos

  • Redução do uso de memória para esquemas extensos no escritor Photon: foram feitas melhorias no motor Photon que reduzem significativamente o uso de memória para esquemas extensos, abordando cenários que anteriormente resultavam em erros de falta de memória.

Alterações de comportamento

  • Erro gerado para restrições inválidasCHECK: o Azure Databricks agora gerará uma AnalysisException expressão se uma CHECK expressão de restrição não puder ser resolvida durante a validação da restrição.

  • O conector Pulsar não expõe mais o Bouncy Castle: A biblioteca Bouncy Castle agora está sombreada no conector Pulsar para evitar conflitos de classpath. Como resultado, as tarefas do Spark não podem mais acessar as org.bouncycastle.* classes a partir do conector. Caso o código dependa do Bouncy Castle, instale a biblioteca manualmente em um ambiente sem servidor.

  • O Carregador Automático usa eventos de arquivo por padrão, se disponível: o Carregador Automático usa eventos de arquivo em vez de listagem de diretório quando o caminho de carga é um local externo com eventos de arquivo habilitados. O padrão para useManagedFileEvents é agora if_available (antes era false). Isso pode melhorar o desempenho da ingestão e registrar um aviso se os eventos de arquivo ainda não estiverem habilitados.

  • O conector Teradata corrige a comparação de cadeia de caracteres que diferencia maiúsculas de minúsculas: o conector Teradata agora, por padrão, alinha o comportamento de comparação de cadeia de caracteres com o Azure Databricks, tornando-a sensível a maiúsculas e minúsculas. Essa alteração é configurável e não afeta os usuários existentes, a menos que eles decidam participar.

Ambiente sem servidor versão 4

13 de agosto de 2025

O ambiente versão 4 agora está disponível em seus notebooks e trabalhos sem servidor. Essa versão do ambiente inclui atualizações de biblioteca e atualizações de API. Consulte o ambiente sem servidor versão 4.

Versão 17.0

24 de julho de 2025

Essa versão de computação sem servidor corresponde aproximadamente ao Databricks Runtime 17.0.

Novos recursos

  • Suporte ao procedimento SQL: os scripts SQL agora podem ser encapsulados em um procedimento armazenado como um ativo reutilizável no Catálogo do Unity. Você pode criar um procedimento usando o comando CREATE PROCEDURE e chamá-lo usando o comando CALL .

  • Definir uma ordenação padrão para o SQL Functions: usar a nova DEFAULT COLLATION cláusula no CREATE FUNCTION comando define a ordenação padrão usada para STRING parâmetros, o tipo de retorno e STRING literais no corpo da função.

  • Suporte a rCTE (expressões de tabela comuns recursivas): o Azure Databricks agora dá suporte à navegação de dados hierárquicos usando rCTEs (expressões de tabela comuns) recursivas. Use uma CTE de auto-referência com UNION ALL para seguir a relação recursiva.

  • O PySpark e o Spark Connect agora dão suporte aos DataFrames df.mergeInto API: O PySpark e o Spark Connect agora dão suporte à df.mergeInto API.

  • Suporte ALL CATALOGS em SHOW SCHEMAS: a sintaxe SHOW SCHEMAS foi atualizada para aceitar ALL CATALOGS, permitindo que você iterar por todos os catálogos ativos que dão suporte a namespaces. Os atributos de saída agora incluem uma catalog coluna que indica o catálogo do namespace correspondente.

  • O clustering líquido agora compacta os vetores de exclusão com mais eficiência: Tabelas Delta com clustering líquido agora aplicam mudanças físicas dos vetores de exclusão com mais eficiência quando está em execução. Para obter mais detalhes, consulte Aplique alterações aos arquivos de dados Parquet.

  • Permitir expressões não determinísticas em UPDATE/INSERT valores de coluna para MERGE operações: o Azure Databricks agora permite o uso de expressões não determinísticas em valores de coluna atualizados e inseridos de MERGE operações. Por exemplo, agora você pode gerar valores dinâmicos ou aleatórios para colunas usando expressões como rand().

  • Altere as APIs do Python do Delta MERGE para retornar DataFrame em vez de Unidade: as APIs do Python MERGE (como DeltaMergeBuilder) agora também retornam um DataFrame como a API do SQL, com os mesmos resultados.

Alterações de comportamento

  • Alteração comportamental para a opção de listagem incremental de diretórios do Carregador Automático: o valor da opção obsoletizada do Carregador Automático agora está definido como um valor padrão de cloudFiles.useIncrementalListing. Como resultado, essa alteração faz com que o Carregador Automático execute uma listagem de diretório completa sempre que for executado. O Databricks recomenda não usar essa opção. Em vez disso, use o modo de notificação de arquivo com eventos de arquivo.

  • CREATE VIEW Cláusulas de nível de coluna agora resultam em erros quando as cláusulas seriam aplicáveis apenas a visões materializadas: CREATE VIEW comandos que especificam uma cláusula de nível de coluna que só é válida para MATERIALIZED VIEWs agora resultam em um erro. As cláusulas afetadas incluem NOT NULL, tipos de dados especificados DEFAULTe COLUMN MASK.

Os destinos de desempenho sem servidor são GA

10 de junho de 2025

A seleção da configuração de desempenho sem uso de servidor para trabalhos e pipelines agora está disponível de forma geral.

Quando a configuração otimizada para desempenho está habilitada, sua carga de trabalho é otimizada para um tempo de inicialização e execução mais rápido. Quando desabilitada, a carga de trabalho sem servidor é executada no modo de desempenho padrão, que é otimizada para custo e tem uma latência de inicialização ligeiramente maior.

Para obter mais informações, consulte Selecionar um modo de desempenho e selecionar um modo de desempenho.

Versão 16.4

28 de maio de 2025

Essa versão de computação sem servidor corresponde aproximadamente ao Databricks Runtime 16.4 LTS.

Alterações de comportamento

  • Correção para respeitar as opções de planos armazenados em cache da fonte de dados: essa atualização garante que a leitura de tabela respeite as opções definidas para todos os planos de fonte de dados quando armazenados em cache, não apenas na primeira leitura de tabela armazenada em cache. Anteriormente, as leituras da tabela de fonte de dados armazenavam em cache o primeiro plano, mas não contavam com opções diferentes nas consultas subsequentes.

  • Habilite o sinalizador para exigir materialização da origem para operações MERGE: Anteriormente, os usuários podiam desativar a materialização da origem em MERGE definindo merge.materializeSource como none. Com o novo sinalizador habilitado, a materialização de origem sempre será necessária e as tentativas de desabilitá-la resultarão em um erro. O Databricks planeja habilitar esse sinalizador somente para clientes que não alteraram essa configuração anteriormente, portanto, a maioria dos usuários não deve experimentar nenhuma alteração no comportamento.

Novos recursos

  • O Carregador Automático agora pode limpar arquivos processados no diretório de origem: agora você pode instruir o Carregador Automático a mover ou excluir automaticamente os arquivos que foram processados. Opte por esse recurso usando a opção cloudFiles.cleanSource Carregador Automático. Veja as opções do Carregador Automático em cloudFiles.cleanSource.

  • Suporte à ampliação de tipos adicionado para streaming de tabelas Delta: esta versão adiciona suporte para streaming de uma tabela Delta que possui dados de colunas com tipos ampliados, e para compartilhar uma tabela Delta com ampliação de tipos ativada usando o compartilhamento Delta do Databricks para Databricks. No momento, o recurso de ampliação de tipo está atualmente em Versão Prévia Pública. Confira Ampliação de tipo.

  • IDENTIFIER suporte agora disponível no DBSQL para operações de catálogo: agora você pode usar a IDENTIFIER cláusula ao executar as seguintes operações de catálogo:

    • CREATE CATALOG
    • DROP CATALOG
    • COMMENT ON CATALOG
    • ALTER CATALOG

    Essa nova sintaxe permite que você especifique dinamicamente nomes de catálogo usando parâmetros definidos para essas operações, permitindo fluxos de trabalho SQL mais flexíveis e reutilizáveis. Como exemplo da sintaxe, considere CREATE CATALOG IDENTIFIER(:param) onde param está um parâmetro fornecido para especificar um nome de catálogo. Consulte a cláusula IDENTIFIER.

  • As expressões coligadas agora fornecem aliases transitórios gerados automaticamente: Os aliases gerados automaticamente para as expressões coligadas agora incorporam informações de forma determinística. Os aliases gerados automaticamente são transitórios (instáveis) e não devem ser confiados. Em vez disso, como prática recomendada, use expression AS alias de forma consistente e explícita.

  • Adicionar suporte à API de pushdown de filtro para fontes de dados do Python: a computação sem servidor agora oferece suporte ao pushdown de filtro para leitura em lote da fonte de dados do Python como uma API, semelhante à interface SupportsPushDownFilters. Confira as notas de lançamento da versão 16.4 LTS.

  • Melhoria de rastreamento de UDF do Python: o rastreamento de UDF do Python agora inclui quadros do driver e do executor, juntamente com os quadros do cliente, resultando em melhores mensagens de erro que mostram detalhes maiores e mais relevantes (como o conteúdo de linha de quadros dentro de uma UDF).

  • UNION/EXCEPT/INTERSECT dentro de uma visão e EXECUTE IMMEDIATE agora retornam resultados corretos: consultas para definições de visão temporárias e persistentes com níveis superiores UNION/EXCEPT/INTERSECT e colunas não alias anteriormente retornavam resultados incorretos porque as palavras-chave UNION/EXCEPT/INTERSECT foram consideradas aliases. Agora, essas consultas executarão corretamente toda a operação do conjunto.

  • Guia de configuração e migração do plano armazenado em cache da fonte de dados: a leitura de uma tabela de origem de arquivo respeitará corretamente as opções de consulta (por exemplo, delimitadores). Anteriormente, o primeiro plano de consulta era armazenado em cache e as alterações de opção subsequentes eram ignoradas. Para restaurar o comportamento anterior, defina spark.sql.legacy.readFileSourceTableCacheIgnoreOptions como true.

  • Novas funções listagg e string_agg: a partir desta versão, você pode usar as funções listagg ou string_agg para agregar valores STRING e BINARY dentro de um grupo. Veja string_agg.

O modo de desempenho agora é configurável em trabalhos sem servidor

14 de abril de 2025

Agora você pode selecionar o modo de desempenho de um trabalho sem servidor usando a configuração otimizada para desempenho na página de detalhes do trabalho. Anteriormente, todos os trabalhos sem servidor eram otimizados para desempenho. Agora, você pode desabilitar a configuração otimizada para desempenho para executar a carga de trabalho no modo de desempenho padrão. O modo de performance padrão é projetado para reduzir os custos em cargas de trabalho nas quais uma latência um pouco maior de inicialização é aceitável.

Não há suporte para o modo de desempenho padrão para pipelines contínuos, execuções pontuais criadas usando o ponto de extremidade runs/submit ou tarefas de trabalho do SQL Warehouse, incluindo exibições materializadas.

Para obter mais informações sobre o modo de desempenho, consulte Selecionar um modo de desempenho.

Versão 16.3

9 de abril de 2025

Essa versão de computação sem servidor corresponde aproximadamente ao Databricks Runtime 16.3.

Alterações de comportamento

  • *Mensagem de erro aprimorada quando kafka.sasl.client.callback.handler.class é atribuído um valor inválido: essa versão inclui uma alteração para retornar uma mensagem de erro mais descritiva quando kafka.sasl.client.callback.handler.class é atribuído um valor inválido.

Novos recursos

  • O suporte ao leitor de estado é GA: o suporte para ler informações de estado para consultas de Streaming Estruturado agora está disponível em computação sem servidor. Consulte a seção Ler informações de estado do Streaming Estruturado.

  • O downgrade do protocolo de tabela delta é GA com proteção de ponto de verificação: DROP FEATURE geralmente está disponível para remover os recursos da tabela delta lake e fazer downgrade do protocolo de tabela. Por padrão, DROP FEATURE agora cria pontos de verificação protegidos para uma experiência de downgrade mais otimizada e simplificada que não exige nenhum tempo de espera ou truncamento de histórico. Confira Remover um recurso de tabela do Delta Lake e fazer downgrade do protocolo de tabela.

  • Escrever scripts SQL processuais com base no ANSI SQL/PSM (Versão Prévia Pública): agora você pode usar recursos de script com base no ANSI SQL/PSM para escrever lógica de procedimento com SQL, incluindo instruções de fluxo de controle, variáveis locais e tratamento de exceções. Consulte os scripts SQL.

  • Ordenação padrão de nível de tabela e exibição: agora você pode especificar uma ordenação padrão para tabelas e exibições. Isso simplifica a criação de tabelas e exibições em que todas ou a maioria das colunas compartilham a mesma ordenação. Consulte Ordenação.

  • Novas funções H3: três novas funções H3 foram adicionadas: h3_try_coverash3, h3_try_coverash3string e h3_try_tessellateaswkb.

  • Altere várias colunas de tabela em uma instruçãoALTER TABLE: agora você pode alterar várias colunas em uma única ALTER TABLE instrução. Consulte ALTER TABLE ... COLUMN cláusula.

Versão 16.2

13 de março de 2025

Essa versão de computação sem servidor corresponde aproximadamente ao Databricks Runtime 16.2.

Alterações de comportamento

  • No Delta Sharing, o histórico de tabelas é habilitado por padrão: os compartilhamentos criados usando o comando ALTER SHARE <share> ADD TABLE <table> SQL agora têm o compartilhamento de histórico (WITH HISTORY) habilitado por padrão. Consulte ALTER SHARE.

  • As instruções SQL de credencial retornam um erro quando há uma incompatibilidade de tipo de credencial: agora, se o tipo de credencial especificado em uma instrução SQL de gerenciamento de credenciais não corresponder ao tipo do argumento de credencial, um erro será retornado e a instrução não será executada.

Novos recursos

  • Use o timestampdiff e timestampadd nas expressões de coluna geradas Agora você pode usar as funções timestampdiff e timestampadd nas expressões de coluna geradas pelo Delta Lake. Confira Colunas geradas pelo Delta Lake.

  • Atualizar para DESCRIBE TABLE retornar metadados como JSON estruturado: agora você pode usar o DESCRIBE TABLE AS JSON comando para retornar metadados de tabela como um documento JSON. A saída JSON é mais estruturada do que o relatório legível por humanos padrão e pode ser usada para interpretar o esquema de uma tabela programaticamente. Para saber mais, consulte DESCRIBE TABLE AS JSON.

  • Ordenações insensíveis em branco à direita: agora, o sem servidor dá suporte às ordenações insensíveis em branco à direita. Por exemplo, essas colações tratam 'Hello' e 'Hello ' como sendo iguais. Para saber mais, consulte Ordenação RTRIM.

Correções de bug

  • Processamento de clone incremental aprimorado: essa versão inclui correção para um caso de borda em que um CLONE incremental pode copiar novamente arquivos já copiados de uma tabela de origem para uma tabela de destino. Consulte Clonar uma tabela no Azure Databricks.

Configuração de memória alta disponível em notebooks sem servidor (Visualização Pública)

7 de fevereiro de 2025

Agora você pode configurar um tamanho de memória mais alto para suas cargas de trabalho de notebook de computação sem servidor. Essa configuração pode ser aplicada a cargas de trabalho de notebook interativas e agendadas.

O uso sem servidor com memória alta tem uma taxa de emissão de DBU maior do que a memória padrão.

Para obter mais informações, consulte Usar computação sem servidor de alta memória.

Versão 16.1

5 de fevereiro de 2025

Essa versão de computação sem servidor corresponde aproximadamente ao Databricks Runtime 16.0 e Databricks Runtime 16.1.

Novos recursos

  • Suporte do Avro para esquema recursivo: agora você pode usar a opção recursiveFieldMaxDepth com a função from_avro e a fonte de dados avro. Essa opção define a profundidade máxima para a recursão de esquema na fonte de dados Avro. Confira Ler e gravar dados de streaming do Avro.
  • Suporte expandido para o Registro de Esquema do Confluent para Avro: agora, o sem servidor dá suporte à referência de esquema do Avro com o Registro de Esquema Confluent. Consulte Autenticar em um Registro de Esquema Confluent externo.
  • Forçar o reagrupamento em tabelas com clustering líquido: É possível usar a sintaxe OPTIMIZE FULL para forçar o reagrupamento de todos os registros em uma tabela com clustering líquido habilitado. Consulte Forçar reagrupamento em todos os registros.
  • As APIs Delta para Python agora dão suporte a colunas de identidade: agora você pode usar as APIs Delta para Python para criar tabelas com colunas de identidade. Consulte Usar colunas de identidade no Delta Lake.
  • Criar tabelas clusteradas líquidas durante gravações de streaming: Agora você pode usar clusterBy para habilitar o clustering líquido ao criar novas tabelas com gravações de Streaming Estruturado. Consulte Habilitar o agrupamento líquido.
  • Suporte para a cláusula OPTIMIZE FULL: agora, a computação sem servidor dá suporte à cláusula OPTIMIZE FULL. Esta cláusula otimiza todos os registros em uma tabela que utiliza agrupamento líquido, incluindo dados que já possam ter sido previamente agrupados.
  • Suporte para a especificação das opções WITH em INSERT e referência de tabela: agora, a execução sem servidor dá suporte a uma especificação de opções para as referências de tabela e nomes de tabela de uma instrução INSERT, e pode ser usada para controlar o comportamento das fontes de dados.
  • Novas funções SQL: As seguintes funções SQL agora estão disponíveis na computação sem servidor:
    • try_url_decode é uma versão tolerante a erros do url_decode.
    • zeroifnull retornará 0 se a expressão de entrada para a função zeroifnull() for NULL.
    • nullifzero retornará NULL se a entrada for 0 ou sua entrada se não for 0.
    • dayname(expr) retorna o acrônimo inglês de três letras para o dia da semana referente à data determinada.
    • uniform(expr1, expr2 [,seed]) retorna um valor aleatório com valores independentes e distribuídos de forma idêntica dentro do intervalo de números especificado.
    • randstr(length) retorna uma cadeia de caracteres aleatória de length caracteres alfanuméricos.
  • Habilitar a evolução automática do esquema ao mesclar dados em uma tabela Delta: o suporte foi adicionado para o membro withSchemaEvolution() da classe DeltaMergeBuilder. Use withSchemaEvolution() para habilitar a evolução automática do esquema durante operações MERGE. Por exemplo, mergeBuilder.whenMatched(...).withSchemaEvolution().execute()}}.
  • Suporte para as ordenações no Apache Spark está em Visualização Pública: agora, você pode atribuir as ordenações que não diferenciam maiúsculas de minúsculas e não diferenciam o acesso a colunas e expressões STRING. Essas ordenações são usadas em comparações de cadeia de caracteres, classificação, operações de agrupamento e muitas funções de cadeia de caracteres. Consulte Ordenação.
  • Suporte para ordenações no Delta Lake está em Visualização Pública: agora você pode definir ordenações para colunas ao criar ou alterar uma tabela Delta. Consulte Suporte de ordenação do Delta Lake.
  • LITE modo de vácuo está em Visualização Pública: agora, você pode usar VACUUM table_name LITE para executar uma operação de vácuo de peso mais leve que aproveita os metadados no log das transações Delta. Consulte Modo completo versus modo leve e VACUUM.
  • Suporte à parametrização da cláusula USE CATALOG with IDENTIFIER: já há suporte para a cláusula IDENTIFIER na instrução USE CATALOG. Com esse suporte, você pode parametrizar o catálogo atual com base em uma variável de cadeia de caracteres ou marcador de parâmetro.
  • COMMENT ON COLUMN suporte para tabelas e exibições: a instrução COMMENT ON agora dá suporte à alteração de comentários para colunas de exibição e tabela.
  • Invocação de parâmetro nomeado para mais funções: As seguintes funções dão suporte à invocação de parâmetro nomeada:
  • O parâmetro SYNC METADATA para o comando REPAIR TABLE tem suporte com o metastore do Hive: agora você pode usar o parâmetro SYNC METADATA com o comando REPAIR TABLE para atualizar os metadados de uma tabela gerenciada de metastore do Hive. Consulte REPAIR TABLE.
  • Integridade de dados aprimorada para os lotes compactados do Apache Arrow: para proteger ainda mais contra a corrupção de dados, cada lote compactado do Apache Arrow LZ4 agora inclui as somas de verificação de conteúdo LZ4 e de bloco. Veja Descrição do formato de quadro LZ4.
  • Driver JDBC do Oracle interno: a computação sem servidor já tem o Driver JDBC do Oracle integrado. Se você usar um JAR de driver JDBC carregado pelo cliente por meio de DriverManager, será necessário reescrever scripts para usar explicitamente o JAR personalizado. Caso contrário, o driver interno será usado. Este driver só suporta a Federação Lakehouse. Quanto a outros casos de uso, você precisa fornecer seu próprio driver.
  • Erros mais detalhados para tabelas Delta acessadas com caminhos: uma nova experiência de mensagem de erro para tabelas Delta acessadas usando caminhos está disponível agora. Todas as exceções agora são encaminhadas para o usuário. A exceção DELTA_MISSING_DELTA_TABLE agora está reservada para quando não for possível ler os arquivos subjacentes como uma tabela Delta.

Alterações de comportamento

  • Alteração significativa: o RStudio hospedado está descontinuado: Com esta versão, o Servidor RStudio hospedado pelo Databricks está descontinuado e indisponível em qualquer workspace do Azure Databricks em execução na computação sem servidor. Para saber mais e ver uma lista de alternativas ao RStudio, consulte Conectar-se a um Servidor RStudio hospedado pelo Databricks.
  • Alteração significativa: remoção do suporte para alteração byte, short, int e long tipos para tipos mais amplos: para garantir um comportamento consistente nas tabelas Delta e Apache Iceberg, as seguintes alterações de tipo de dados não podem mais ser aplicadas a tabelas com o recurso de ampliação de tipo habilitado.

    • byte, shorte intlong para decimal.
    • byte, short e int para double.
  • Análise correta de padrões regex com negação no agrupamento de caracteres aninhados: esta versão inclui uma alteração para dar suporte à análise correta de padrões regex com negação no agrupamento de caracteres aninhados. Por exemplo, [^[abc]] será analisado como "qualquer caractere que não seja um de 'abc'".

    Além disso, o comportamento do Photon era inconsistente com o Spark nas classes de caractere aninhadas. Os padrões Regex contendo classes de caracteres aninhados não usarão mais o Photon e, em vez disso, usarão o Spark. Uma classe de caracteres aninhada é qualquer padrão que contenha colchetes entre colchetes, como [[a-c][1-3]].

  • Aprimorar a detecção de correspondência duplicada no Delta Lake MERGE:MERGE agora, considera as condições especificadas na cláusula WHEN MATCHED. Consulte Executar o upsert em uma tabela do Delta Lake usando a mesclagem.

  • A funcionalidade addArtifact() agora é consistente entre tipos de computação: Quando você usa addArtifact(archive = True) para adicionar uma dependência à computação sem servidor, o arquivo é extraído automaticamente.

Correções de bug

  • Deslocamentos de fuso horário agora incluem segundos quando serializados para CSV, JSON e XML: Timestamps com deslocamentos de fuso horário que incluem segundos (comuns para timestamps anteriores a 1900) estavam omitindo os segundos quando serializados para CSV, JSON e XML. O formatador de carimbo de data/hora padrão foi corrigido e agora retorna os valores de deslocamento corretos para esses carimbos de data/hora.

Outras alterações

  • Códigos de erro renomeados para a cloudFiles fonte de Streaming estruturado: os seguintes códigos de erro foram renomeados:
    • _LEGACY_ERROR_TEMP_DBR_0143 foi renomeado para CF_INCORRECT_STREAM_USAGE.
    • _LEGACY_ERROR_TEMP_DBR_0260 foi renomeado para CF_INCORRECT_BATCH_USAGE .

Versão 15.4

28 de outubro de 2024

Essa versão de computação sem servidor corresponde aproximadamente ao Databricks Runtime 15.4

Novos recursos

  • Funções de validação UTF-8: esta versão apresenta as seguintes funções para validar strings UTF-8:
    • is_valid_utf8 verificou se uma cadeia de caracteres é uma UTF-8 válida.
    • make_valid_utf8 converte uma cadeia de caracteres UTF-8 potencialmente inválida em uma cadeia de caracteres UTF-8 válida usando caracteres de substituição.
    • validate_utf8 gerará um erro se a entrada não for uma string UTF-8 válida.
    • try_validate_utf8 retornará NULL se a entrada não for uma string UTF-8 válida.
  • Habilitar o Iceberg UniForm usando ALTER TABLE: agora você pode habilitar o Iceberg UniForm em tabelas existentes sem regravar arquivos de dados. Consulte Habilitar as leituras do Iceberg em uma tabela existente.
  • função try_url_decode: Esta versão apresenta a função try_url_decode, que decodifica uma string codificada em URL. Se a cadeia de caracteres não estiver no formato correto, a função retornará NULL em vez de gerar um erro.
  • Opcionalmente, permita que o otimizador conte com restrições de chave estrangeira não impostas: para melhorar o desempenho da consulta, agora é possível especificar a palavra-chave em restrições ao criar ou alterar uma tabela.
  • Execuções de trabalho paralelizadas para substituições seletivas: substituições seletivas usando replaceWhere agora executam trabalhos que excluem dados e inserem novos dados em paralelo, melhorando o desempenho da consulta e a utilização do cluster.
  • Melhor desempenho do feed de dados de alteração com substituições seletivas: as substituições seletivas usando replaceWhere nas tabelas com feed de dados de alterações não gravam mais arquivos de dados de alteração separados para os dados inseridos. Essas operações usam uma coluna oculta _change_type presente nos arquivos de dados Parquet subjacentes para registrar alterações sem amplificação de gravação.
  • Latência de consulta aprimorada para o COPY INTO comando: esta versão inclui uma alteração que melhora a latência de consulta para o COPY INTO comando. Essa melhoria é implementada ao tornarmos o carregamento de estado pelo repositório de estado do RocksDB assíncrono. Com essa alteração, você deverá visualizar uma melhoria nos tempos de início para consultas com estados grandes, como consultas com um grande número de arquivos já ingeridos.
  • Suporte para remover o recurso da tabela de restrições de verificação: agora, você pode remover o recurso da tabela checkConstraints de uma tabela Delta usando ALTER TABLE table_name DROP FEATURE checkConstraints. Consulte Desabilitar restrições de verificação.

Alterações de comportamento

  • Alteração da associação de esquema para exibições: quando os tipos de dados na consulta subjacente de uma exibição são alterados daqueles usados quando a exibição foi criada pela primeira vez, o Databricks não gera mais erros para referências à exibição quando nenhuma conversão segura pode ser executada.

    Em vez disso, a exibição faz uma compensação usando regras de conversão regulares sempre que possível. Essa alteração permite que o Databricks tolere as alterações de esquema de tabela mais facilmente.

  • Não permitir aceitação de sintaxe não documentada ! para NOT fora da lógica booleana: Databricks não tolerará mais o uso de ! como sinônimo de NOT fora da lógica booleana. Essa alteração reduz a confusão, alinha-se com o padrão SQL e torna o SQL mais portátil. Por exemplo:

    CREATE ... IF ! EXISTS, IS ! NULL, propriedade de campo ou coluna ! NULL, ! IN e ! BETWEEN precisam ser substituídos por:

    CREATE ... IF NOT EXISTS, IS NOT NULL, propriedade de campo ou coluna NOT NULL, NOT IN e NOT BETWEEN.

    O operador de prefixo booliano! (por exemplo, !is_mgr ou !(true AND false)) não é afetado por essa alteração.

  • Não permitir partes não documentadas e não processadas da sintaxe de definição da coluna nas exibições: o Databricks dá suporte a CREATE VIEW com colunas nomeadas e comentários de coluna.

    A especificação de tipos de coluna, restrições NOT NULL ou DEFAULT foi tolerada na sintaxe sem ter nenhum efeito. O Databricks removerá essa tolerância da sintaxe. Isso reduz a confusão, alinha-se com o padrão SQL e permite aprimoramentos futuros.

  • Tratamento consistente de erros para decodificação Base64 no Spark e no Photon: esta versão altera a forma como o Photon lida com erros de decodificação Base64 para corresponder ao tratamento desses erros do Spark. Antes dessas alterações, o caminho de geração de código do Photon e do Spark às vezes não gerava exceções de análise, enquanto a execução interpretada do Spark gerava corretamente IllegalArgumentException ou ConversionInvalidInputError. Essa atualização garante que o Photon gere consistentemente as mesmas exceções que o Spark durante erros de decodificação Base64, fornecendo um tratamento de erros mais previsível e confiável.

  • Adicionar uma CHECK restrição em uma coluna inválida agora retorna a classe de erro UNRESOLVED_COLUMN.WITH_SUGGESTION: Para fornecer mensagens de erro mais úteis, no Databricks Runtime 15.3 e superior, uma ALTER TABLE ADD CONSTRAINT instrução que inclui uma CHECK restrição referente a um nome de coluna inválido retorna a classe de erro UNRESOLVED_COLUMN.WITH_SUGGESTION. Anteriormente, era retornado um INTERNAL_ERROR.

O JDK é atualizado do JDK 8 para o JDK 17

15 de agosto de 2024

A computação sem servidor para notebooks e fluxos de trabalho migrou do Java Development Kit (JDK) 8 para o JDK 17 no lado do servidor. Essa atualização inclui as seguintes alterações de comportamento:

  • Análise correta de padrões regex com negação no agrupamento de caracteres aninhado: com essa atualização, o Azure Databricks agora dá suporte à análise correta de padrões regex com negação no agrupamento de caracteres aninhados. Por exemplo, [^[abc]] será analisado como "qualquer caractere que não seja um de 'abc'".

    Além disso, o comportamento do Photon era inconsistente com o Spark nas classes de caractere aninhadas. Os padrões Regex contendo classes de caracteres aninhados não usarão mais o Photon e, em vez disso, usarão o Spark. Uma classe de caracteres aninhada é qualquer padrão que contenha colchetes entre colchetes, como [[a-c][1-3]].

Versão 15.1

23 de julho de 2024

Essa versão de computação sem servidor corresponde aproximadamente ao Databricks Runtime 15.1

Novos recursos

Suporte para a sintaxe de asterisco (*) na cláusula WHERE: agora você pode usar a sintaxe de asterisco (*) na cláusula WHERE para referenciar todas as colunas da lista SELECT.

Por exemplo, SELECT * FROM VALUES(1, 2) AS T(a1, a2) WHERE 1 IN(T.*).

Changes

Recuperação de erro aprimorada para análise JSON: o analisador JSON usado para from_json() e expressões de caminho JSON agora se recupera mais rapidamente da sintaxe malformada, resultando em menos perda de dados.

Ao encontrar uma sintaxe JSON malformada em um campo de struct, um valor de matriz, uma chave de mapa ou um valor de mapa, o analisador JSON retornará NULL somente para o campo, chave ou elemento ilegível. Os campos, chaves ou elementos subsequentes serão analisados corretamente. Antes dessa alteração, o analisador JSON abandonou a análise da matriz, do struct ou do mapa e retornou NULL para o conteúdo restante.

Versão 14.3

15 de abril de 2024

Essa é a versão inicial da computação sem servidor. Essa versão corresponde aproximadamente ao Databricks Runtime 14.3 com algumas modificações que removem o suporte para alguns recursos herdados e não sem servidor.

Parâmetros de configuração do Spark com suporte

Para automatizar a configuração do Spark na computação sem servidor, o Azure Databricks removeu o suporte para definir manualmente a maioria das configurações do Spark. Para exibir uma lista de parâmetros de configuração do Spark com suporte, consulte Configurar propriedades do Spark para notebooks e trabalhos sem servidor.

O trabalho executado na computação sem servidor falhará se você definir uma configuração do Spark sem suporte.

As funções input_file foram preteridas

As funções input_file_name(), input_file_block_length() e input_file_block_start() foram preteridas. O uso dessas funções é altamente desencorajado.

Em vez disso, use a coluna de metadados do arquivo para recuperar informações de metadados do arquivo.

Mudanças comportamentais

A versão da computação sem servidor 2024.15 inclui as seguintes alterações de comportamento:

  • unhex(hexStr) correção de bug: ao usar a função unhex(hexStr), hexStr sempre é adicionado à esquerda em um byte inteiro. Anteriormente, a função unhex ignorava o primeiro meio byte. Por exemplo: unhex('ABC') agora produz x'0ABC' em vez de x'BC'.
  • Os aliases de coluna gerados automaticamente agora estão estáveis: quando o resultado de uma expressão é referenciado sem um alias de coluna especificado pelo usuário, esse alias gerado automaticamente agora será estável. O novo algoritmo pode resultar em uma alteração nos nomes gerados automaticamente anteriormente usados em recursos como exibições materializadas.
  • Agora, as verificações de tabela com campos de tipo CHAR são sempre preenchidas: tabelas Delta, determinadas tabelas JDBC e fontes de dados externas armazenam dados CHAR em formulário não preenchido. Ao ler, o Azure Databricks agora preencherá os dados com espaços até o comprimento declarado para garantir a semântica correta.
  • As conversões de BIGINT/DECIMAL para TIMESTAMP geram uma exceção para os valores excedentes: o Azure Databricks permite a conversão de BIGINT e DECIMAL para TIMESTAMP tratando o valor como o número de segundos da época do Unix. Anteriormente, o Azure Databricks retornava valores em excesso, mas agora lança uma exceção em casos de excesso. Use try_cast para retornar NULL em vez de uma exceção.
  • A execução da UDF do PySpark foi aprimorada para corresponder ao comportamento exato da execução da UDF na computação dedicada: As seguintes alterações foram feitas:
    • As UDFs com um tipo de retorno de cadeia de caracteres não convertem mais implicitamente valores que não são cadeias de caracteres em cadeias de caracteres. Anteriormente, as UDFs com um tipo de retorno str aplicariam um wrapper str(..) ao resultado, independentemente do tipo de dados real do valor retornado.
    • Os UDFs com tipos de retorno timestamp não aplicam mais implicitamente uma conversão de fuso horário a carimbos de data/hora.