blob: 3d30f9a321d29ecfd8652b091a7af96a2b11f3bb [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_181-google-v7) on Mon Jan 27 16:42:29 PST 2020 -->
<title>PipelineTranslator (Apache Beam 2.20.0-SNAPSHOT)</title>
<meta name="date" content="2020-01-27">
<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="PipelineTranslator (Apache Beam 2.20.0-SNAPSHOT)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":10,"i2":6,"i3":10,"i4":10,"i5":9,"i6":9,"i7":10,"i8":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/SchemaHelpers.html" title="class in org.apache.beam.runners.spark.structuredstreaming.translation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/beam/runners/spark/structuredstreaming/translation/PipelineTranslator.html" target="_top">Frames</a></li>
<li><a href="PipelineTranslator.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.beam.runners.spark.structuredstreaming.translation</div>
<h2 title="Class PipelineTranslator" class="title">Class PipelineTranslator</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.Defaults.html" title="class in org.apache.beam.sdk">org.apache.beam.sdk.Pipeline.PipelineVisitor.Defaults</a></li>
<li>
<ul class="inheritance">
<li>org.apache.beam.runners.spark.structuredstreaming.translation.PipelineTranslator</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.html" title="interface in org.apache.beam.sdk">Pipeline.PipelineVisitor</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/batch/PipelineTranslatorBatch.html" title="class in org.apache.beam.runners.spark.structuredstreaming.translation.batch">PipelineTranslatorBatch</a>, <a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/streaming/PipelineTranslatorStreaming.html" title="class in org.apache.beam.runners.spark.structuredstreaming.translation.streaming">PipelineTranslatorStreaming</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">PipelineTranslator</span>
extends <a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.Defaults.html" title="class in org.apache.beam.sdk">Pipeline.PipelineVisitor.Defaults</a></pre>
<div class="block"><code>Pipeline.PipelineVisitor</code> that translates the Beam operators to their Spark counterparts.
It also does the pipeline preparation: mode detection, transforms replacement, classpath
preparation. If we have a streaming job, it is instantiated as a <a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/streaming/PipelineTranslatorStreaming.html" title="class in org.apache.beam.runners.spark.structuredstreaming.translation.streaming"><code>PipelineTranslatorStreaming</code></a>. If we have a batch job, it is instantiated as a <a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/batch/PipelineTranslatorBatch.html" title="class in org.apache.beam.runners.spark.structuredstreaming.translation.batch"><code>PipelineTranslatorBatch</code></a>.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.beam.sdk.Pipeline.PipelineVisitor">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.beam.sdk.<a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.html" title="interface in org.apache.beam.sdk">Pipeline.PipelineVisitor</a></h3>
<code><a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.CompositeBehavior.html" title="enum in org.apache.beam.sdk">Pipeline.PipelineVisitor.CompositeBehavior</a>, <a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.Defaults.html" title="class in org.apache.beam.sdk">Pipeline.PipelineVisitor.Defaults</a></code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/TranslationContext.html" title="class in org.apache.beam.runners.spark.structuredstreaming.translation">TranslationContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/PipelineTranslator.html#translationContext">translationContext</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/PipelineTranslator.html#PipelineTranslator--">PipelineTranslator</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/PipelineTranslator.html#detectTranslationMode-org.apache.beam.sdk.Pipeline-org.apache.beam.sdk.options.StreamingOptions-">detectTranslationMode</a></span>(<a href="../../../../../../../org/apache/beam/sdk/Pipeline.html" title="class in org.apache.beam.sdk">Pipeline</a>&nbsp;pipeline,
<a href="../../../../../../../org/apache/beam/sdk/options/StreamingOptions.html" title="interface in org.apache.beam.sdk.options">StreamingOptions</a>&nbsp;options)</code>
<div class="block">Visit the pipeline to determine the translation mode (batch/streaming) and update options
accordingly.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.CompositeBehavior.html" title="enum in org.apache.beam.sdk">Pipeline.PipelineVisitor.CompositeBehavior</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/PipelineTranslator.html#enterCompositeTransform-org.apache.beam.sdk.runners.TransformHierarchy.Node-">enterCompositeTransform</a></span>(org.apache.beam.sdk.runners.TransformHierarchy.Node&nbsp;node)</code>
<div class="block">Called for each composite transform after all topological predecessors have been visited but
before any of its component transforms.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected abstract <a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/TransformTranslator.html" title="interface in org.apache.beam.runners.spark.structuredstreaming.translation">TransformTranslator</a>&lt;?&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/PipelineTranslator.html#getTransformTranslator-org.apache.beam.sdk.runners.TransformHierarchy.Node-">getTransformTranslator</a></span>(org.apache.beam.sdk.runners.TransformHierarchy.Node&nbsp;node)</code>
<div class="block">Get a <a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/TransformTranslator.html" title="interface in org.apache.beam.runners.spark.structuredstreaming.translation"><code>TransformTranslator</code></a> for the given <code>TransformHierarchy.Node</code>.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/TranslationContext.html" title="class in org.apache.beam.runners.spark.structuredstreaming.translation">TranslationContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/PipelineTranslator.html#getTranslationContext--">getTranslationContext</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/PipelineTranslator.html#leaveCompositeTransform-org.apache.beam.sdk.runners.TransformHierarchy.Node-">leaveCompositeTransform</a></span>(org.apache.beam.sdk.runners.TransformHierarchy.Node&nbsp;node)</code>
<div class="block">Called for each composite transform after all of its component transforms and their outputs
have been visited.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/PipelineTranslator.html#prepareFilesToStageForRemoteClusterExecution-org.apache.beam.runners.spark.structuredstreaming.SparkStructuredStreamingPipelineOptions-">prepareFilesToStageForRemoteClusterExecution</a></span>(<a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/SparkStructuredStreamingPipelineOptions.html" title="interface in org.apache.beam.runners.spark.structuredstreaming">SparkStructuredStreamingPipelineOptions</a>&nbsp;options)</code>
<div class="block">Local configurations work in the same JVM and have no problems with improperly formatted files
on classpath (eg.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/PipelineTranslator.html#replaceTransforms-org.apache.beam.sdk.Pipeline-org.apache.beam.sdk.options.StreamingOptions-">replaceTransforms</a></span>(<a href="../../../../../../../org/apache/beam/sdk/Pipeline.html" title="class in org.apache.beam.sdk">Pipeline</a>&nbsp;pipeline,
<a href="../../../../../../../org/apache/beam/sdk/options/StreamingOptions.html" title="interface in org.apache.beam.sdk.options">StreamingOptions</a>&nbsp;options)</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/PipelineTranslator.html#translate-org.apache.beam.sdk.Pipeline-">translate</a></span>(<a href="../../../../../../../org/apache/beam/sdk/Pipeline.html" title="class in org.apache.beam.sdk">Pipeline</a>&nbsp;pipeline)</code>
<div class="block">Translates the pipeline by passing this class as a visitor.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/PipelineTranslator.html#visitPrimitiveTransform-org.apache.beam.sdk.runners.TransformHierarchy.Node-">visitPrimitiveTransform</a></span>(org.apache.beam.sdk.runners.TransformHierarchy.Node&nbsp;node)</code>
<div class="block">Called for each primitive transform after all of its topological predecessors and inputs have
been visited.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.beam.sdk.Pipeline.PipelineVisitor.Defaults">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.beam.sdk.<a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.Defaults.html" title="class in org.apache.beam.sdk">Pipeline.PipelineVisitor.Defaults</a></h3>
<code><a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.Defaults.html#enterPipeline-org.apache.beam.sdk.Pipeline-">enterPipeline</a>, <a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.Defaults.html#getPipeline--">getPipeline</a>, <a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.Defaults.html#leavePipeline-org.apache.beam.sdk.Pipeline-">leavePipeline</a>, <a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.Defaults.html#visitValue-org.apache.beam.sdk.values.PValue-org.apache.beam.sdk.runners.TransformHierarchy.Node-">visitValue</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="translationContext">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>translationContext</h4>
<pre>protected&nbsp;<a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/TranslationContext.html" title="class in org.apache.beam.runners.spark.structuredstreaming.translation">TranslationContext</a> translationContext</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="PipelineTranslator--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>PipelineTranslator</h4>
<pre>public&nbsp;PipelineTranslator()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="prepareFilesToStageForRemoteClusterExecution-org.apache.beam.runners.spark.structuredstreaming.SparkStructuredStreamingPipelineOptions-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prepareFilesToStageForRemoteClusterExecution</h4>
<pre>public static&nbsp;void&nbsp;prepareFilesToStageForRemoteClusterExecution(<a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/SparkStructuredStreamingPipelineOptions.html" title="interface in org.apache.beam.runners.spark.structuredstreaming">SparkStructuredStreamingPipelineOptions</a>&nbsp;options)</pre>
<div class="block">Local configurations work in the same JVM and have no problems with improperly formatted files
on classpath (eg. directories with .class files or empty directories). Prepare files for
staging only when using remote cluster (passing the master address explicitly).</div>
</li>
</ul>
<a name="replaceTransforms-org.apache.beam.sdk.Pipeline-org.apache.beam.sdk.options.StreamingOptions-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>replaceTransforms</h4>
<pre>public static&nbsp;void&nbsp;replaceTransforms(<a href="../../../../../../../org/apache/beam/sdk/Pipeline.html" title="class in org.apache.beam.sdk">Pipeline</a>&nbsp;pipeline,
<a href="../../../../../../../org/apache/beam/sdk/options/StreamingOptions.html" title="interface in org.apache.beam.sdk.options">StreamingOptions</a>&nbsp;options)</pre>
</li>
</ul>
<a name="detectTranslationMode-org.apache.beam.sdk.Pipeline-org.apache.beam.sdk.options.StreamingOptions-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>detectTranslationMode</h4>
<pre>public static&nbsp;void&nbsp;detectTranslationMode(<a href="../../../../../../../org/apache/beam/sdk/Pipeline.html" title="class in org.apache.beam.sdk">Pipeline</a>&nbsp;pipeline,
<a href="../../../../../../../org/apache/beam/sdk/options/StreamingOptions.html" title="interface in org.apache.beam.sdk.options">StreamingOptions</a>&nbsp;options)</pre>
<div class="block">Visit the pipeline to determine the translation mode (batch/streaming) and update options
accordingly.</div>
</li>
</ul>
<a name="getTransformTranslator-org.apache.beam.sdk.runners.TransformHierarchy.Node-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTransformTranslator</h4>
<pre>protected abstract&nbsp;<a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/TransformTranslator.html" title="interface in org.apache.beam.runners.spark.structuredstreaming.translation">TransformTranslator</a>&lt;?&gt;&nbsp;getTransformTranslator(org.apache.beam.sdk.runners.TransformHierarchy.Node&nbsp;node)</pre>
<div class="block">Get a <a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/TransformTranslator.html" title="interface in org.apache.beam.runners.spark.structuredstreaming.translation"><code>TransformTranslator</code></a> for the given <code>TransformHierarchy.Node</code>.</div>
</li>
</ul>
<a name="translate-org.apache.beam.sdk.Pipeline-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>translate</h4>
<pre>public&nbsp;void&nbsp;translate(<a href="../../../../../../../org/apache/beam/sdk/Pipeline.html" title="class in org.apache.beam.sdk">Pipeline</a>&nbsp;pipeline)</pre>
<div class="block">Translates the pipeline by passing this class as a visitor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>pipeline</code> - The pipeline to be translated</dd>
</dl>
</li>
</ul>
<a name="enterCompositeTransform-org.apache.beam.sdk.runners.TransformHierarchy.Node-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>enterCompositeTransform</h4>
<pre>public&nbsp;<a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.CompositeBehavior.html" title="enum in org.apache.beam.sdk">Pipeline.PipelineVisitor.CompositeBehavior</a>&nbsp;enterCompositeTransform(org.apache.beam.sdk.runners.TransformHierarchy.Node&nbsp;node)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.html#enterCompositeTransform-org.apache.beam.sdk.runners.TransformHierarchy.Node-">Pipeline.PipelineVisitor</a></code></span></div>
<div class="block">Called for each composite transform after all topological predecessors have been visited but
before any of its component transforms.
<p>The return value controls whether or not child transforms are visited.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.html#enterCompositeTransform-org.apache.beam.sdk.runners.TransformHierarchy.Node-">enterCompositeTransform</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.html" title="interface in org.apache.beam.sdk">Pipeline.PipelineVisitor</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.Defaults.html#enterCompositeTransform-org.apache.beam.sdk.runners.TransformHierarchy.Node-">enterCompositeTransform</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.Defaults.html" title="class in org.apache.beam.sdk">Pipeline.PipelineVisitor.Defaults</a></code></dd>
</dl>
</li>
</ul>
<a name="leaveCompositeTransform-org.apache.beam.sdk.runners.TransformHierarchy.Node-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>leaveCompositeTransform</h4>
<pre>public&nbsp;void&nbsp;leaveCompositeTransform(org.apache.beam.sdk.runners.TransformHierarchy.Node&nbsp;node)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.html#leaveCompositeTransform-org.apache.beam.sdk.runners.TransformHierarchy.Node-">Pipeline.PipelineVisitor</a></code></span></div>
<div class="block">Called for each composite transform after all of its component transforms and their outputs
have been visited.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.html#leaveCompositeTransform-org.apache.beam.sdk.runners.TransformHierarchy.Node-">leaveCompositeTransform</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.html" title="interface in org.apache.beam.sdk">Pipeline.PipelineVisitor</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.Defaults.html#leaveCompositeTransform-org.apache.beam.sdk.runners.TransformHierarchy.Node-">leaveCompositeTransform</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.Defaults.html" title="class in org.apache.beam.sdk">Pipeline.PipelineVisitor.Defaults</a></code></dd>
</dl>
</li>
</ul>
<a name="visitPrimitiveTransform-org.apache.beam.sdk.runners.TransformHierarchy.Node-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>visitPrimitiveTransform</h4>
<pre>public&nbsp;void&nbsp;visitPrimitiveTransform(org.apache.beam.sdk.runners.TransformHierarchy.Node&nbsp;node)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.html#visitPrimitiveTransform-org.apache.beam.sdk.runners.TransformHierarchy.Node-">Pipeline.PipelineVisitor</a></code></span></div>
<div class="block">Called for each primitive transform after all of its topological predecessors and inputs have
been visited.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.html#visitPrimitiveTransform-org.apache.beam.sdk.runners.TransformHierarchy.Node-">visitPrimitiveTransform</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.html" title="interface in org.apache.beam.sdk">Pipeline.PipelineVisitor</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.Defaults.html#visitPrimitiveTransform-org.apache.beam.sdk.runners.TransformHierarchy.Node-">visitPrimitiveTransform</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../../org/apache/beam/sdk/Pipeline.PipelineVisitor.Defaults.html" title="class in org.apache.beam.sdk">Pipeline.PipelineVisitor.Defaults</a></code></dd>
</dl>
</li>
</ul>
<a name="getTranslationContext--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getTranslationContext</h4>
<pre>public&nbsp;<a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/TranslationContext.html" title="class in org.apache.beam.runners.spark.structuredstreaming.translation">TranslationContext</a>&nbsp;getTranslationContext()</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../../../org/apache/beam/runners/spark/structuredstreaming/translation/SchemaHelpers.html" title="class in org.apache.beam.runners.spark.structuredstreaming.translation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/beam/runners/spark/structuredstreaming/translation/PipelineTranslator.html" target="_top">Frames</a></li>
<li><a href="PipelineTranslator.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>