Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
The Tez engine itself takes care of co-ordinating execution - controlling how data gets routed (different connection patterns), fault tolerance, scheduling of work, etc.
This is currently tied to TaskSpecs defined within Tez and on containers launched by Tez itself (TezChild).
The proposal is to allow Tez to work with external services instead of just containers launched by Tez. This involves several more pluggable layers to work with alternate Task Specifications, custom launch and task allocation mechanics, as well as custom scheduling sources.
A simple example would be a simple a process with the capability to execute multiple Tez TaskSpecs as threads. In such a case, a container launch isn't really need and can be mocked. Sourcing / scheduling containers would need to be pluggable.
A more advanced example would be LLAP (HIVE-7926; https://issues.apache.org/jira/secure/attachment/12665704/LLAPdesigndocument.pdf).
This works with custom interfaces - which would need to be supported by Tez, along with a custom event model which would need translation hooks.
Tez should be able to work with a combination of certain vertices running in external services and others running in regular Tez containers.
Attachments
Attachments
Issue Links
- is related to
-
TEZ-1876 [Umbrella] Polish up support for local mode in Tez
- Open
-
TEZ-1184 [Umbrella] Support for multiple tasks running in the same JVM
- Open
-
TEZ-2212 Notify components on DAG completion
- Closed
-
TEZ-2130 Send the sessionToken as part of the AM CLC
- Closed
- relates to
-
TEZ-2664 Remove YARN constructs from various APIs
- Open
-
TEZ-2169 Add NDC context to various threads and pools
- Closed
-
TEZ-2045 TaskAttemptListener should not pull Tasks from AMContainer
- Closed
- requires
-
TEZ-1233 Allow configuration of framework parameters per vertex
- Closed