> For the complete documentation index, see [llms.txt](https://academy.pentaho.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://academy.pentaho.com/pentaho-data-integration/data-integration/enterprise-solution/jobs.md).

# Jobs

A process flow that consists of one or more steps that execute tasks such as transformations, scripts, email notifications, file transfers, etc

{% hint style="info" %}
**Jobs**

In most ETL tasks you need to be able to perform maintenance tasks, orchestrate the execution of the transformations, and handle errors and retries. These tasks are handled by Jobs.\
A job consists of one or more job entry that are executed in a specific order. The order of the execution is determined by the job hops between the job entries as well as the executions themselves. Job entries differ in several ways:

* You can create shadow copies of a job entry. This allows to place the same job entry in a job on multiple locations.
* A job entry passes a results object between job entries. This means that once a job entry has been completed all rows are transferred at once, rather than in a streaming fashion.
* Job entries are executed in a certain sequence (except if set to parallel execution)
  {% endhint %}

<figure><img src="https://3680356391-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZpCSy6Skj215f4oWypdc%2Fuploads%2Fgit-blob-55fa256e0026c7cad304560e9d1f1bacee861e74%2Fjobs.jpg?alt=media" alt="" width="563"><figcaption><p>Jobs</p></figcaption></figure>

{% hint style="info" %}
Besides the execution order, a hop also specifies the condition on which the next job entry will be executed. You can specify the Evaluation mode by right clicking on the job hop. A job hop is just a flow of control. Hops link to job entries and, based on the results of the previous job entry, determine what happens next.
{% endhint %}

***

{% hint style="info" %}
**Workshops**

x
{% endhint %}

{% tabs %}
{% tab title="Jobs" %}
{% hint style="info" %}
Start off with an overview of the components that define a Job.

Create a Job that executes the 'hello world' transformation.

* START
* Job Entry
  {% endhint %}

<figure><img src="https://3680356391-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZpCSy6Skj215f4oWypdc%2Fuploads%2Fgit-blob-17bad42469eeae8e68e7cf4255a0ed19f964bd3a%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

{% content-ref url="/pages/2iwhUNFUdGmQ6zs5u1Fj" %}
[Job - Hello World](/pentaho-data-integration/data-integration/enterprise-solution/jobs/job-hello-world.md)
{% endcontent-ref %}
{% endtab %}

{% tab title="Backward Chaining" %}
{% hint style="info" %}
In Pentaho, a job is a sequence of steps that can be executed in a specific order. A job can contain one or more transformations, which are executed in parallel or sequentially.

Backward chaining is a technique used to execute a job in which the execution of a transformation depends on the successful execution of another transformation. In other words, it is a technique used to execute transformations in reverse order.
{% endhint %}

<figure><img src="https://3680356391-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZpCSy6Skj215f4oWypdc%2Fuploads%2Fgit-blob-edb54ca1f92b2447d874ea1845df0cb4aa879223%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

{% content-ref url="/pages/nfccDa531NoZwUStqkpP" %}
[Backward Chaining](/pentaho-data-integration/data-integration/enterprise-solution/jobs/backward-chaining.md)
{% endcontent-ref %}
{% endtab %}

{% tab title="Parallel" %}
{% hint style="info" %}
Running Pentaho jobs in parallel can help improve performance and efficiency in data integration and ETL processes.
{% endhint %}

<figure><img src="https://3680356391-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZpCSy6Skj215f4oWypdc%2Fuploads%2Fgit-blob-7b660574070e61a13530af028169164780e88f24%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

{% content-ref url="/pages/hLzWiEiuFNT1sEH2j8sz" %}
[Parallel](/pentaho-data-integration/data-integration/enterprise-solution/jobs/parallel.md)
{% endcontent-ref %}
{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://academy.pentaho.com/pentaho-data-integration/data-integration/enterprise-solution/jobs.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
