A Joblet is a reusable piece of a job that can be used in multiple jobs as a single component. A
tRunJob component is a component that allows you to call another job as a subjob within a parent
job. When comparing a Joblet to a tRunJob component, these statements are true:
A Joblet uses the same context variables of the job in which it is used, unlike a tRunJob component. A
context variable is a variable that can store a value that can be changed at runtime or between
different contexts. A Joblet inherits the context variables from the job that contains it and does not
have its own context variables. A tRunJob component can pass context variables from the parent job
to the child job, or use a specific context for the child job.
Building a Joblet typically requires the use of generic input and trigger components. A Joblet can
have one or more input and output flows that connect it with other components in a job. To create
these flows, you need to use generic input and trigger components, such as tJobletInput,
tJobletOutput, tJobletTriggerInput, and tJobletTriggerOutput. These components allow you to define
schemas and triggers for your Joblet without depending on specific components.
The nested job called by a tRunJob component cannot use the same context variables of the job in
which it is used. A nested job is a job that is called by another job using a tRunJob component. A
nested job can have its own context variables or receive context variables from its parent job, but it
cannot use the same context variables as its parent job. This means that if you have two context
variables with the same name in both jobs, they will be treated as separate variables and will not
share values.
These statements are false when comparing a Joblet to a tRunJob component:
The performance of tRunJob component is better than running an equivalent job using a Joblet. The
performance of a Joblet is better than running an equivalent job using a tRunJob component. This is
because a Joblet is integrated into the main code of the job and does not require launching another
JVM process or loading another metadata object like a tRunJob component does. Reference: Talend
Open Studio: Open-source ETL and Free Data Integration | Talend, [Joblets - 7.3], [tRunJob properties
- 7.3], [Contexts - 7.3]