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
ouhadoop-core
, são removidas. - Todos os JARs usados são adicionados à lista de permissões.
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.
- Maven
- Sbt
<dependency>
<groupId>com.databricks</groupId>
<artifactId>databricks-connect</artifactId>
<version>16.2.0</version>
</dependency>
libraryDependencies += "com.databricks" % "databricks-connect" % "16.2.+"
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).