日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用azkaban调度spark任务

發布時間:2025/1/21 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用azkaban调度spark任务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇文章主要向大家介紹使用azkaban調度spark任務,主要內容包括基礎應用、實用技巧、原理機制等方面,希望對大家有所幫助。

Azkaban是一種相似于Oozie的工作流控制引擎,能夠用來解決多個Hadoop(或Spark等)離線計算任務之間的依賴關系問題。

也能夠用其代替cron來對周期性任務進行調度,而且更為直觀,可靠,同時提供了美觀的可視化管理界面。

下文將對azkaban對spark離線任務調度進行簡要說明。

一. 簡介

該部份內容可參考官方文檔:http://azkaban.github.io/azkaban/docs/latest/#overviewgithub

azkaban由三部分構成:

  • Relational Database(Mysql)
  • Azkaban Web Server
  • Azkaban Executor Server

Relational Database(Mysql)

azkaban將大多數狀態信息都存于Mysql中,Azkaban Web Server 和 Azkaban Executor Server也需要訪問DB。

Azkaban Web Server

提供了Web UI,是azkaband的主要管理者,包括 project 的管理,認證,調度,對工作流執行過程的監控等。

Azkaban Executor Server

調度工作流和任務,記錄工作流任務的日志,因此將AzkabanWebServer和AzkabanExecutorServer分開,主要是由于在某個任務流失敗后,能夠更方便的將重新執行。并且也更有利于Azkaban系統的升級。

可調度任務類型

  • linux命令
  • 腳本
  • java程序
  • hadoop MR
  • spark
  • flink
  • hive

建立工做

  • 建立工做任務
    建立.job為后綴的文件,type是工做任務類型執行會輸出 Hello World

    vim hello.job type=command command=echo "Hello World"
  • 建立工作流
    兩個工做任務,經過dependencies進行關聯

    vim foo.job type=command command=echo foovim bar.job type=command dependencies=foo command=echo bar

    工作流如下:
    將會先調用foo再調用bar。

  • 二. 調度Spark任務Demo

    建立一個新的project

    編寫代碼 寫一段簡單的Spark代碼,將程序打包

    package com.zxl import org.apache.spark.{SparkConf, SparkContext}object AzkabanTest extends App{val conf = new SparkConf().setMaster("local[2]").setAppName("azkabanTest")val sc = new SparkContext(conf)val data = sc.parallelize(1 to 10)data.map{_ * 2}.foreach(println) }

    編寫調度命令

    vim test.job type=command command=/usr/install/spark/bin/spark-submit --class com.zxl.AzkabanTest test-1.0-SNAPSHOT.jar

    將這兩個文件以zip的形式打包在一塊兒

    zip -r xxx.zip azkabanTest

    上傳工程

    目前azkaban只支持zip包,其中要包括.job文件以及一些需要的工程和文件。


    設置離線任務執行周期

    若是需要的話能夠設置離線任務的執行周期(相似于cron的功能)

    任務通知

    能夠設置任務完成或失敗進行郵箱通知等操作。

    一些界面

    主界面

    任務完成狀況

    任務log詳情

    定時任務調用狀況圖

    總結

    以上是生活随笔為你收集整理的使用azkaban调度spark任务的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。