Pular para o conteúdo principal

Criar e executar JARs Scala e Java em compute serverless

info

Beta

As funcionalidades serverless Scala e Java Job estão em versão Beta. Você pode usar JAR tarefa para implantar seu JAR. Consulte a opção "Gerenciar pré-visualizações Databricks caso ainda não esteja ativada.

Um arquivoJava (JAR) empacota código Java ou Scala em um único arquivo. Este artigo mostra como criar um JAR com código Spark e implantá-lo como um LakeFlow Job em computeserverless.

dica

Para implantação automatizada e fluxo de trabalho de integração contínua, use Databricks ativo Bundles para criar um projeto padrão com configurações de construção e implantação pré-configuradas. Consulte Criar um JAR Scala usando Databricks ativo Bundles e Bundle que carrega um arquivo JAR para o Unity Catalog. Este artigo descreve a abordagem manual para implantações ou aprendizado de como os arquivos JAR funcionam com compute serverless .

Requisitos

Seu ambiente de desenvolvimento local deve conter o seguinte:

  • sbt 1.11.7 ou superior (para JARs Scala)
  • Maven 3.9.0 ou superior (para JARs Java)
  • Versões do JDK, Scala e Databricks Connect que correspondam ao seu ambiente serverless (este exemplo usa JDK 17, Scala 2.13.16 e Databricks Connect 17.0.1)

o passo 1. Criar um JAR

  1. execute o seguinte comando para criar um novo projeto Scala :

    Bash
    sbt new scala/scala-seed.g8

    Quando solicitado, insira um nome de projeto, por exemplo, my-spark-app.

  2. Substitua o conteúdo do seu arquivo build.sbt pelo seguinte:

    scalaVersion := "2.13.16"
    libraryDependencies += "com.databricks" %% "databricks-connect" % "17.0.1"
    // other dependencies go here...

    // to run with new jvm options, a fork is required otherwise it uses same options as sbt process
    fork := true
    javaOptions += "--add-opens=java.base/java.nio=ALL-UNNAMED"
  3. Edite ou crie um arquivo project/assembly.sbt e adicione esta linha:

    addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "2.3.1")
  4. Crie sua classe principal em src/main/scala/example/DatabricksExample.scala:

    Scala
    package com.examples

    import org.apache.spark.sql.SparkSession

    object SparkJar {
    def main(args: Array[String]): Unit = {
    val spark = SparkSession.builder().getOrCreate()

    // Prints the arguments to the class, which
    // are job parameters when run as a job:
    println(args.mkString(", "))

    // Shows using spark:
    println(spark.version)
    println(spark.range(10).limit(3).collect().mkString(" "))
    }
    }
  5. Para construir seu arquivo JAR , execute o seguinte comando:

    Bash
    sbt assembly

o passo 2. Crie um Job para executar o JAR

  1. Em seu site workspace, clique em ícone de fluxo de trabalho. Jobs & pipeline na barra lateral.

  2. Clique em Create e depois em Job .

    A tarefa tab é exibida com o painel de tarefa vazio.

nota

Se a interface de usuárioLakeFlow Jobs estiver ativada , clique no JAR para configurar a primeira tarefa. Se o bloco JAR não estiver disponível, clique em Add another task type (Adicionar outro tipo de tarefa ) e procure por JAR .

  1. Opcionalmente, substitua o nome do trabalho, cujo padrão é New Job <date-time> pelo seu nome de trabalho.

  2. Em nome da tarefa , digite um nome para a tarefa, por exemplo, JAR_example.

  3. Se necessário, selecione JAR no menu suspenso Type (Tipo ).

  4. Para a classe principal , insira o pacote e a classe do seu arquivo JAR. Se você seguiu o exemplo acima, digite com.examples.SparkJar.

  5. Para computação , selecione sem servidor .

  6. Configure o ambiente serverless :

    1. Escolha um ambiente e clique em Ícone de lápis. Edite para configurar.
    2. Selecione 4 -Scala-preview para a versão do ambiente .
    3. Adicione seu arquivo JAR arrastando e soltando-o no seletor de arquivos ou navegue até ele para selecioná-lo em um volume Unity Catalog ou em um local workspace .
  7. Em Parâmetros , neste exemplo, digite ["Hello", "World!"].

  8. Clique em Criar tarefa .

o passo 3: execute o Job e view os detalhes de execução do Job

Clique em Botão executar agora para executar o fluxo de trabalho. Para acessar view detalhes da execução, clique em view execution (visualizar execução ) na janela pop-up Triggered execution (execução acionada ) ou clique no link na coluna começar time (tempo ) para a execução no Job execution (execução de trabalho) view.

Quando a execução for concluída, a saída será exibida no painel Output (Saída ), incluindo os argumentos passados para a tarefa.

Próximas etapas