blob: fc7511b29b022c4a1e0a9ade1775f7e86dc97603 [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 -->
<title>org.apache.beam.sdk.extensions.sql.impl.rel (Apache Beam 2.38.0-SNAPSHOT)</title>
<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="org.apache.beam.sdk.extensions.sql.impl.rel (Apache Beam 2.38.0-SNAPSHOT)";
}
}
catch(err) {
}
//-->
</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 class="navBarCell1Rev">Package</li>
<li>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><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/planner/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rule/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../../index.html?org/apache/beam/sdk/extensions/sql/impl/rel/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.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>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<p>@DefaultAnnotation(value=<a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.10.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">org.checkerframework.checker.nullness.qual.NonNull.class</a>)
</p>
<h1 title="Package" class="title">Package&nbsp;org.apache.beam.sdk.extensions.sql.impl.rel</h1>
<div class="docSummary">
<div class="block">BeamSQL specified nodes, to replace <code>RelNode</code>.</div>
</div>
<p>See:&nbsp;<a href="#package.description">Description</a></p>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamRelNode.html" title="interface in org.apache.beam.sdk.extensions.sql.impl.rel">BeamRelNode</a></td>
<td class="colLast">
<div class="block">A <code>RelNode</code> that can also give a <a href="../../../../../../../../org/apache/beam/sdk/transforms/PTransform.html" title="class in org.apache.beam.sdk.transforms"><code>PTransform</code></a> that implements the expression.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/AbstractBeamCalcRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">AbstractBeamCalcRel</a></td>
<td class="colLast">
<div class="block">BeamRelNode to replace <code>Project</code> and <code>Filter</code> node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamAggregationRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamAggregationRel</a></td>
<td class="colLast">
<div class="block"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamRelNode.html" title="interface in org.apache.beam.sdk.extensions.sql.impl.rel"><code>BeamRelNode</code></a> to replace a <code>Aggregate</code> node.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamCalcRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamCalcRel</a></td>
<td class="colLast">
<div class="block">BeamRelNode to replace <code>Project</code> and <code>Filter</code> node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamCalcRel.WrappedList.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamCalcRel.WrappedList</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">WrappedList translates <code>List</code> on access.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamCalcRel.WrappedMap.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamCalcRel.WrappedMap</a>&lt;V&gt;</td>
<td class="colLast">
<div class="block">WrappedMap translates <code>Map</code> on access.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamCalcRel.WrappedRow.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamCalcRel.WrappedRow</a></td>
<td class="colLast">
<div class="block">WrappedRow translates <code>Row</code> on access.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamCoGBKJoinRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamCoGBKJoinRel</a></td>
<td class="colLast">
<div class="block">A <code>BeamJoinRel</code> which does CoGBK Join</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamEnumerableConverter.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamEnumerableConverter</a></td>
<td class="colLast">
<div class="block">BeamRelNode to replace a <code>Enumerable</code> node.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamIntersectRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamIntersectRel</a></td>
<td class="colLast">
<div class="block"><code>BeamRelNode</code> to replace a <code>Intersect</code> node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamIOSinkRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamIOSinkRel</a></td>
<td class="colLast">
<div class="block">BeamRelNode to replace a <code>TableModify</code> node.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamIOSourceRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamIOSourceRel</a></td>
<td class="colLast">
<div class="block">BeamRelNode to replace a <code>TableScan</code> node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamJoinRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamJoinRel</a></td>
<td class="colLast">
<div class="block">An abstract <code>BeamRelNode</code> to implement Join Rels.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamMatchRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamMatchRel</a></td>
<td class="colLast">
<div class="block"><code>BeamRelNode</code> to replace a <code>Match</code> node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamMinusRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamMinusRel</a></td>
<td class="colLast">
<div class="block"><code>BeamRelNode</code> to replace a <code>Minus</code> node.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamPushDownIOSourceRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamPushDownIOSourceRel</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamSetOperatorRelBase.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamSetOperatorRelBase</a></td>
<td class="colLast">
<div class="block">Delegate for Set operators: <code>BeamUnionRel</code>, <code>BeamIntersectRel</code> and <code>BeamMinusRel</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamSideInputJoinRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamSideInputJoinRel</a></td>
<td class="colLast">
<div class="block">A <code>BeamJoinRel</code> which does sideinput Join</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamSideInputLookupJoinRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamSideInputLookupJoinRel</a></td>
<td class="colLast">
<div class="block">A <code>BeamJoinRel</code> which does Lookup Join</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamSortRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamSortRel</a></td>
<td class="colLast">
<div class="block"><code>BeamRelNode</code> to replace a <code>Sort</code> node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamSortRel.BeamSqlRowComparator.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamSortRel.BeamSqlRowComparator</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamSqlRelUtils.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamSqlRelUtils</a></td>
<td class="colLast">
<div class="block">Utilities for <code>BeamRelNode</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamTableFunctionScanRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamTableFunctionScanRel</a></td>
<td class="colLast">
<div class="block">BeamRelNode to replace <code>TableFunctionScan</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamUncollectRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamUncollectRel</a></td>
<td class="colLast">
<div class="block"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamRelNode.html" title="interface in org.apache.beam.sdk.extensions.sql.impl.rel"><code>BeamRelNode</code></a> to implement an uncorrelated <code>Uncollect</code>, aka UNNEST.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamUnionRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamUnionRel</a></td>
<td class="colLast">
<div class="block"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamRelNode.html" title="interface in org.apache.beam.sdk.extensions.sql.impl.rel"><code>BeamRelNode</code></a> to replace a <code>Union</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamUnnestRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamUnnestRel</a></td>
<td class="colLast">
<div class="block"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamRelNode.html" title="interface in org.apache.beam.sdk.extensions.sql.impl.rel"><code>BeamRelNode</code></a> to implement UNNEST, supporting specifically only <code>Correlate</code> with
<code>Uncollect</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamValuesRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamValuesRel</a></td>
<td class="colLast">
<div class="block"><code>BeamRelNode</code> to replace a <code>Values</code> node.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamWindowRel.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">BeamWindowRel</a></td>
<td class="colLast">
<div class="block"><code>BeamRelNode</code> to replace a <code>Window</code> node.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/CalcRelSplitter.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">CalcRelSplitter</a></td>
<td class="colLast">
<div class="block">CalcRelSplitter operates on a <code>Calc</code> with multiple <code>RexCall</code> sub-expressions that
cannot all be implemented by a single concrete <code>RelNode</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/CalcRelSplitter.RelType.html" title="class in org.apache.beam.sdk.extensions.sql.impl.rel">CalcRelSplitter.RelType</a></td>
<td class="colLast">
<div class="block">Type of relational expression.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamLogicalConvention.html" title="enum in org.apache.beam.sdk.extensions.sql.impl.rel">BeamLogicalConvention</a></td>
<td class="colLast">
<div class="block">Convertion for Beam SQL.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rel/BeamSetOperatorRelBase.OpType.html" title="enum in org.apache.beam.sdk.extensions.sql.impl.rel">BeamSetOperatorRelBase.OpType</a></td>
<td class="colLast">
<div class="block">Set operator type.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="package.description">
<!-- -->
</a>
<h2 title="Package org.apache.beam.sdk.extensions.sql.impl.rel Description">Package org.apache.beam.sdk.extensions.sql.impl.rel Description</h2>
<div class="block">BeamSQL specified nodes, to replace <code>RelNode</code>.</div>
</div>
<!-- ======= 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 class="navBarCell1Rev">Package</li>
<li>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><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/planner/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../../../../org/apache/beam/sdk/extensions/sql/impl/rule/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../../index.html?org/apache/beam/sdk/extensions/sql/impl/rel/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.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>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>