Nike-Inc / brickflow

Pythonic Programming Framework to orchestrate jobs in Databricks Workflow
https://engineering.nike.com/brickflow/
Apache License 2.0
183 stars 36 forks source link

Feature run job task, sparkJAR and SQL task #117

Closed RajuGujjalapati closed 3 months ago

RajuGujjalapati commented 3 months ago

Description

Added code to support Run Job, JAR and SQL task types. Run Job task can trigger another job by its job_name, JAR task will trigger by providing jar file as library and its main class and SQL tasks will be useful to execute SQL objects such as queries, legacy dashboards, files and alerts

Related Issue

Link to the issue: JAR #49 Link to the issue: RunJob #55 Link to the issue: SQL #119

Motivation and Context

  1. Databricks now supports creating a "Run Job" task, which can trigger another job by its job_id, its good to have this feature in brickflow.
  2. Databricks now supports creating a "JAR" task. Using the JAR task, you can ensure fast and reliable installation of Java or Scala code in your Databricks jobs.
  3. Databricks now supports creating a "SQL" task. Using the SQL task, SQL tasks will be useful to execute SQL objects such as queries, legacy dashboards, files and alerts

How Has This Been Tested?

Unit tests + deployed test workflow using wheel file

Screenshots (if appropriate):

  1. All test cases passed:

    image
  2. Tested using brickflow-bundles-test:

image

  1. Test workflow with a JAR task created using whl file: image
  2. Test workflow with a Run Job task created using whl file: run_job
  3. Test workflow with a SQL job task created using whl file: image

Types of changes

Checklist: