Pular para o conteúdo principal

implantado Scala JARs em Unity Catalog clustering

Este artigo descreve como compilar e implantar o Scala Job como arquivos JAR em um clustering habilitado para o Unity Catalog no modo de acesso padrão. Ele fornece detalhes para garantir que:

  • Sua versão do Java Development Kit (JDK) corresponde à versão do JDK em seu cluster Databricks.
  • Sua versão de Scala corresponde à versão de Scala no clustering de Databricks.
  • Databricks Connect é adicionado como dependência e corresponde à versão em execução no seu clustering Databricks.
  • O projeto local que o senhor está compilando é o pacote como um único JAR e inclui todas as dependências. Como alternativa, o senhor pode instalar dependências como biblioteca de agrupamento.
  • Todas as dependências do OSS Spark, como spark-core ou hadoop-core, são removidas.
  • Todos os JARs usados são adicionados à lista de permissões.
nota

Unity Catalog O clustering no modo de acesso padrão implementa a nova arquiteturaSpark Connect, que separa os componentes do cliente e do servidor. Essa separação permite que o senhor compartilhe com eficiência o clustering e, ao mesmo tempo, aplique totalmente a governança do Unity Catalog com medidas como filtros de linha e máscaras de coluna. No entanto, o clustering Unity Catalog no modo de acesso padrão tem algumas limitações, por exemplo, a falta de suporte para APIs, como Spark Context e RDDs. As limitações estão listadas em limitações do modo de acesso à computação para Unity Catalog.

Etapa 1: Verifique se as versões do Scala e do JDK são iguais

Antes de compilar os JARs, certifique-se de que a versão do Java Development Kit (JDK) e do Scala que o senhor usará para compilar o código corresponda às versões em execução na versão Databricks Runtime do seu clustering. Para obter informações sobre versões compatíveis, consulte a matriz de suporte a versões.

Etapa 2: Adicionar o Databricks Connect como uma dependência

O Databricks Connect deve ser usado para criar JARs do Scala em vez do OSS Spark. A versão do Spark em execução no Databricks Runtime é mais recente do que a que está disponível atualmente no OSS Spark e inclui melhorias de desempenho e estabilidade.

No arquivo de compilação do seu projeto Scala, como build.sbt para sbt ou pom.xml para Maven, adicione a seguinte referência ao Databricks Connect. Além disso, remova qualquer dependência do OSS Spark.

<dependency>
<groupId>com.databricks</groupId>
<artifactId>databricks-connect</artifactId>
<version>16.2.0</version>
</dependency>

Etapa 3: pacote como um único JAR e implantado

A Databricks recomenda empacotar seu aplicativo e todas as dependências em um único arquivo JAR, também conhecido como über ou fat JAR . Para o sbt, use sbt-assembly, e para o Maven, use maven-shade-plugin. Consulte a documentação oficial do Maven Shade Plugin e do sbt-assembly para obter detalhes.

Como alternativa, o senhor pode instalar dependências como biblioteca com escopo de cluster. computeConsulte -scoped biblioteca para obter mais informações.

nota

Para Scala JARs instalados como biblioteca em Unity Catalog clustering padrão, as classes na JAR biblioteca devem estar em um pacote nomeado, como com.databricks.MyClass, ou ocorrerão erros ao importar a biblioteca.

Implante seu arquivo JAR usando uma tarefa JAR. Consulte JAR tarefa for Job.

Etapa 4: Certifique-se de que seu JAR esteja na lista de permissões

Por motivos de segurança, o modo de acesso padrão exige que o administrador adicione as coordenadas e os caminhos de Maven para JAR biblioteca a uma lista de permissões. Consulte Allowlist biblioteca e script de inicialização em compute com o modo de acesso padrão (anteriormente, modo de acesso compartilhado).