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.

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).