O Azkaban é um agendador de workflows em lote para criar, executar e gerenciar workflows com dependências complexas. Use a interface web do Azkaban para agendar jobs do Spark no AnalyticDB for MySQL.
Pré-requisitos
Um cluster do AnalyticDB for MySQL Enterprise Edition, Basic Edition ou Data Lakehouse Edition criado.
Criação de um grupo de recursos de job ou um grupo de recursos interativo para o mecanismo Spark no cluster do AnalyticDB for MySQL.
Beeline instalado.
Endereço IP do servidor que executa o Azkaban adicionado à lista de permissões de endereços IP do cluster do AnalyticDB for MySQL.
Agendar jobs do Spark SQL
Use o Spark-Submit para enviar jobs do Spark SQL e jobs do Spark ao AnalyticDB for MySQL.
Batch
Instale a ferramenta de linha de comando Spark-Submit e configure os parâmetros relacionados.
-
Crie um arquivo de workflow e compacte a pasta pai em um arquivo ZIP.
nodes: - name: SparkPi type: command config: command: /<your path>/adb-spark-toolkit-submit/bin/spark-submit --class com.aliyun.adb.spark.sql.OfflineSqlTemplate local:///opt/spark/jars/offline-sql.jar "show databases" "select 100" dependsOn: - jobA - jobB - name: jobA type: command config: command: echo "This is an echoed text." - name: jobB type: command config: command: pwdImportanteSubstitua
<your path>pelo caminho de instalação real da ferramenta de linha de comando Spark-Submit.Não use caractere de continuação de linha (\) no comando do nó de comando.
-
Crie um projeto e envie o arquivo ZIP da etapa 2.
Abra a interface web do Azkaban. Na barra de navegação superior, clique em Project.
No canto superior direito da página, clique em Create Project.
Na caixa de diálogo Create Project, defina os parâmetros Name e Description.
No canto superior direito da página, clique em Upload.
Na caixa de diálogo Upload Project Files, envie o arquivo ZIP e clique em Upload.
-
Execute o workflow.
Na página Project, clique na aba Flows.
Clique em Execute Flow.
Clique em Execute.
Na caixa de diálogo Flow submitted, clique em Continue.
-
Visualize os detalhes do workflow.
Na barra de navegação superior, clique em Executing.
Clique na aba Recently Finished.
Clique em um Execution ID e, em seguida, na aba Job List para visualizar os detalhes de execução de cada job.
Clique em Logs para visualizar os logs do job.
Interactive
-
Obtenha a URL de conexão do grupo de recursos interativos do Spark.
Faça login no console do AnalyticDB for MySQL. No canto superior esquerdo do console, selecione uma região. No painel de navegação à esquerda, clique em Clusters. Localize o cluster desejado e clique no respectivo ID.
No painel de navegação à esquerda, escolha . Na página exibida, clique na aba Resource Groups.
-
Localize o grupo de recursos interativos do Spark criado e clique em Details na coluna Actions para visualizar a URL de conexão interna ou pública do grupo de recursos. Clique no ícone
entre parênteses, ao lado do número da porta correspondente, para copiar a URL de conexão.Clique em Apply for Endpoint ao lado de Public Endpoint para solicitar manualmente um endpoint público nos seguintes cenários:
A ferramenta cliente usada para enviar um job do Spark SQL está implantada on-premises.
A ferramenta cliente usada para enviar um job do Spark SQL está implantada em uma instância do Elastic Compute Service (ECS) residente em uma Virtual Private Cloud (VPC) diferente da VPC do seu cluster do AnalyticDB for MySQL.
-
Crie um arquivo de workflow e compacte a pasta pai em um arquivo ZIP.
nodes: - name: jobB type: command config: command: <path> -u "jdbc:hive2://amv-t4n83e67n7b****sparkwho.ads.aliyuncs.com:10000/adb_demo" -n spark_interactive_prod/spark_user -p "spark_password" -e "show databases;show tables;" dependsOn: - jobA - name: jobA type: command config: command: <path> -u "jdbc:hive2://amv-t4n83e67n7b****sparkwho.ads.aliyuncs.com:10000/adb_demo" -n spark_interactive_prod/spark_user -p "spark_password" -e "show tables;"Parâmetros:
Parameter
Description
path
Caminho para o cliente Beeline. Exemplo:
/path/to/spark/bin/beeline.-u
Insira o endereço de conexão obtido na Etapa 1. Substitua
defaultno endereço de conexão pelo nome real do banco de dados e removaresource_group=<resource group name>do endereço.Exemplo:
jdbc:hive2://amv-t4naxpqk****sparkwho.ads.aliyuncs.com:10000/adb_demo.-n
Conta do banco de dados do AnalyticDB for MySQL e nome do grupo de recursos, no formato
resource_group_name/database_account_name.Por exemplo, se o nome do grupo de recursos for spark_interactive_prod e o nome da conta do banco de dados for spark_user, insira
spark_interactive_prod/spark_user.-p
Senha da conta do banco de dados do AnalyticDB for MySQL.
-e
Instruções SQL a serem executadas. Use ponto e vírgula (;) para separar várias instruções.
-
Crie um projeto e envie o arquivo ZIP da etapa anterior.
Abra a interface web do Azkaban. Na barra de navegação superior, clique em Project.
No canto superior direito da página, clique em Create Project.
Na caixa de diálogo Create Project, defina os parâmetros Name e Description.
No canto superior direito da página, clique em Upload.
Na caixa de diálogo Upload Project Files, envie o arquivo ZIP e clique em Upload.
-
Execute o workflow.
Na página Project, clique na aba Flows.
Clique em Execute Flow.
Clique em Execute.
Na caixa de diálogo Flow submitted, clique em Continue.
-
Visualize os detalhes do workflow.
Na barra de navegação superior, clique em Executing.
Clique na aba Recently Finished.
Clique em um Execution ID e, em seguida, na aba Job List para visualizar os detalhes de execução de cada job.
Clique em Logs para visualizar os logs do job.
-
Instale a ferramenta de linha de comando Spark-Submit e configure os parâmetros.
NotaConfigure apenas os seguintes parâmetros obrigatórios:
keyId,secretId,regionId,clusterIdergName. Se o pacote JAR do Spark estiver armazenado na máquina local, configure também os parâmetros doObject Storage Service (OSS), comoossUploadPath. -
Crie um arquivo de workflow e compacte a pasta pai em um arquivo ZIP.
nodes: - name: SparkPi type: command config: command: /<your path>/adb-spark-toolkit-submit/bin/spark-submit --class org.apache.spark.examples.SparkPi --name SparkPi --conf spark.driver.resourceSpec=medium --conf spark.executor.instances=2 --conf spark.executor.resourceSpec=medium local:///tmp/spark-examples.jar 1000 dependsOn: - jobA - jobB - name: jobA type: command config: command: echo "This is an echoed text." - name: jobB type: command config: command: pwdImportanteSubstitua
<your path>pelo caminho de instalação real da ferramenta de linha de comando Spark-Submit.Não use caractere de continuação de linha (\) no comando do nó de comando.
-
Crie um projeto e envie o arquivo ZIP da etapa 2.
Abra a interface web do Azkaban. Na barra de navegação superior, clique em Project.
No canto superior direito da página, clique em Create Project.
Na caixa de diálogo Create Project, defina os parâmetros Name e Description.
No canto superior direito da página, clique em Upload.
Na caixa de diálogo Upload Project Files, envie o arquivo ZIP e clique em Upload.
-
Execute o workflow.
Na página Project, clique na aba Flows.
Clique em Execute Flow.
Clique em Execute.
Na caixa de diálogo Flow submitted, clique em Continue.
-
Visualize os detalhes do workflow.
Na barra de navegação superior, clique em Executing.
Clique na aba Recently Finished.
Clique em um Execution ID e, em seguida, na aba Job List para visualizar os detalhes de execução de cada job.
Clique em Logs para visualizar os logs do job.