blob: e40fd19c0b38d1f25f8a620c30271ed72be59e49 [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 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>BatchSizePredictorImpl (Drill : 1.20.3 API)</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="BatchSizePredictorImpl (Drill : 1.20.3 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":10,"i6":9,"i7":10,"i8":10,"i9":10,"i10":9,"i11":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance 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="class-use/BatchSizePredictorImpl.html">Use</a></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/drill/exec/physical/impl/join/BatchSizePredictor.Factory.html" title="interface in org.apache.drill.exec.physical.impl.join"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictorImpl.Factory.html" title="class in org.apache.drill.exec.physical.impl.join"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/drill/exec/physical/impl/join/BatchSizePredictorImpl.html" target="_top">Frames</a></li>
<li><a href="BatchSizePredictorImpl.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&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>Field&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.drill.exec.physical.impl.join</div>
<h2 title="Class BatchSizePredictorImpl" class="title">Class BatchSizePredictorImpl</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.drill.exec.physical.impl.join.BatchSizePredictorImpl</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html" title="interface in org.apache.drill.exec.physical.impl.join">BatchSizePredictor</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">BatchSizePredictorImpl</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html" title="interface in org.apache.drill.exec.physical.impl.join">BatchSizePredictor</a></pre>
</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>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictorImpl.Factory.html" title="class in org.apache.drill.exec.physical.impl.join">BatchSizePredictorImpl.Factory</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/drill/exec/physical/impl/join/BatchSizePredictorImpl.html#BatchSizePredictorImpl-org.apache.drill.exec.record.RecordBatch-double-double-">BatchSizePredictorImpl</a></span>(<a href="../../../../../../../org/apache/drill/exec/record/RecordBatch.html" title="interface in org.apache.drill.exec.record">RecordBatch</a>&nbsp;batch,
double&nbsp;fragmentationFactor,
double&nbsp;safetyFactor)</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="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 long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictorImpl.html#computeMaxBatchSize-long-int-int-double-double-boolean-">computeMaxBatchSize</a></span>(long&nbsp;incomingBatchSize,
int&nbsp;incomingNumRecords,
int&nbsp;desiredNumRecords,
double&nbsp;fragmentationFactor,
double&nbsp;safetyFactor,
boolean&nbsp;reserveHash)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictorImpl.html#computeMaxBatchSizeNoHash-long-int-int-double-double-">computeMaxBatchSizeNoHash</a></span>(long&nbsp;incomingBatchSize,
int&nbsp;incomingNumRecords,
int&nbsp;desiredNumRecords,
double&nbsp;fragmentationFactor,
double&nbsp;safetyFactor)</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictorImpl.html#computePartitionBatchSize-long-int-int-">computePartitionBatchSize</a></span>(long&nbsp;incomingBatchSize,
int&nbsp;incomingNumRecords,
int&nbsp;desiredNumRecords)</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictorImpl.html#computeValueVectorSize-long-long-">computeValueVectorSize</a></span>(long&nbsp;numRecords,
long&nbsp;byteSize)</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictorImpl.html#computeValueVectorSize-long-long-double-">computeValueVectorSize</a></span>(long&nbsp;numRecords,
long&nbsp;byteSize,
double&nbsp;safetyFactor)</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictorImpl.html#getBatchSize--">getBatchSize</a></span>()</code>
<div class="block">Gets the batchSize computed in the call to <a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html#updateStats--"><code>BatchSizePredictor.updateStats()</code></a>.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictorImpl.html#getBatchSizeEstimate-org.apache.drill.exec.record.RecordBatch-">getBatchSizeEstimate</a></span>(<a href="../../../../../../../org/apache/drill/exec/record/RecordBatch.html" title="interface in org.apache.drill.exec.record">RecordBatch</a>&nbsp;recordBatch)</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictorImpl.html#getNumRecords--">getNumRecords</a></span>()</code>
<div class="block">Gets the number of records computed in the call to <a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html#updateStats--"><code>BatchSizePredictor.updateStats()</code></a>.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictorImpl.html#hadDataLastTime--">hadDataLastTime</a></span>()</code>
<div class="block">True if the input batch had records in the last call to <a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html#updateStats--"><code>BatchSizePredictor.updateStats()</code></a>.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictorImpl.html#predictBatchSize-int-boolean-">predictBatchSize</a></span>(int&nbsp;desiredNumRecords,
boolean&nbsp;reserveHash)</code>
<div class="block">Predicts the size of a batch using the current collected stats.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictorImpl.html#roundUpToPowerOf2-long-">roundUpToPowerOf2</a></span>(long&nbsp;num)</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictorImpl.html#updateStats--">updateStats</a></span>()</code>
<div class="block">This method can be called multiple times to collect stats about the latest data in the provided record batch.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="BatchSizePredictorImpl-org.apache.drill.exec.record.RecordBatch-double-double-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>BatchSizePredictorImpl</h4>
<pre>public&nbsp;BatchSizePredictorImpl(<a href="../../../../../../../org/apache/drill/exec/record/RecordBatch.html" title="interface in org.apache.drill.exec.record">RecordBatch</a>&nbsp;batch,
double&nbsp;fragmentationFactor,
double&nbsp;safetyFactor)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getBatchSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBatchSize</h4>
<pre>public&nbsp;long&nbsp;getBatchSize()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html#getBatchSize--">BatchSizePredictor</a></code></span></div>
<div class="block">Gets the batchSize computed in the call to <a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html#updateStats--"><code>BatchSizePredictor.updateStats()</code></a>. Returns 0 if <a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html#hadDataLastTime--"><code>BatchSizePredictor.hadDataLastTime()</code></a> is false.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html#getBatchSize--">getBatchSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html" title="interface in org.apache.drill.exec.physical.impl.join">BatchSizePredictor</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Gets the batchSize computed in the call to <a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html#updateStats--"><code>BatchSizePredictor.updateStats()</code></a>. Returns 0 if <a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html#hadDataLastTime--"><code>BatchSizePredictor.hadDataLastTime()</code></a> is false.</dd>
</dl>
</li>
</ul>
<a name="getNumRecords--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumRecords</h4>
<pre>public&nbsp;int&nbsp;getNumRecords()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html#getNumRecords--">BatchSizePredictor</a></code></span></div>
<div class="block">Gets the number of records computed in the call to <a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html#updateStats--"><code>BatchSizePredictor.updateStats()</code></a>. Returns 0 if <a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html#hadDataLastTime--"><code>BatchSizePredictor.hadDataLastTime()</code></a> is false.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html#getNumRecords--">getNumRecords</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html" title="interface in org.apache.drill.exec.physical.impl.join">BatchSizePredictor</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Gets the number of records computed in the call to <a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html#updateStats--"><code>BatchSizePredictor.updateStats()</code></a>. Returns 0 if <a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html#hadDataLastTime--"><code>BatchSizePredictor.hadDataLastTime()</code></a> is false.</dd>
</dl>
</li>
</ul>
<a name="hadDataLastTime--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hadDataLastTime</h4>
<pre>public&nbsp;boolean&nbsp;hadDataLastTime()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html#hadDataLastTime--">BatchSizePredictor</a></code></span></div>
<div class="block">True if the input batch had records in the last call to <a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html#updateStats--"><code>BatchSizePredictor.updateStats()</code></a>. False otherwise.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html#hadDataLastTime--">hadDataLastTime</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html" title="interface in org.apache.drill.exec.physical.impl.join">BatchSizePredictor</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>True if the input batch had records in the last call to <a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html#updateStats--"><code>BatchSizePredictor.updateStats()</code></a>. False otherwise.</dd>
</dl>
</li>
</ul>
<a name="updateStats--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateStats</h4>
<pre>public&nbsp;void&nbsp;updateStats()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html#updateStats--">BatchSizePredictor</a></code></span></div>
<div class="block">This method can be called multiple times to collect stats about the latest data in the provided record batch. These
stats are used to predict batch sizes. If the batch currently has no data, this method is a noop. This method must be
called at least once before <a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html#predictBatchSize-int-boolean-"><code>BatchSizePredictor.predictBatchSize(int, boolean)</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html#updateStats--">updateStats</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html" title="interface in org.apache.drill.exec.physical.impl.join">BatchSizePredictor</a></code></dd>
</dl>
</li>
</ul>
<a name="predictBatchSize-int-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>predictBatchSize</h4>
<pre>public&nbsp;long&nbsp;predictBatchSize(int&nbsp;desiredNumRecords,
boolean&nbsp;reserveHash)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html#predictBatchSize-int-boolean-">BatchSizePredictor</a></code></span></div>
<div class="block">Predicts the size of a batch using the current collected stats.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html#predictBatchSize-int-boolean-">predictBatchSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictor.html" title="interface in org.apache.drill.exec.physical.impl.join">BatchSizePredictor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>desiredNumRecords</code> - The number of records contained in the batch whose size we want to predict.</dd>
<dd><code>reserveHash</code> - Whether or not to include a column containing hash values.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The size of the predicted batch.</dd>
</dl>
</li>
</ul>
<a name="computeValueVectorSize-long-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>computeValueVectorSize</h4>
<pre>public static&nbsp;long&nbsp;computeValueVectorSize(long&nbsp;numRecords,
long&nbsp;byteSize)</pre>
</li>
</ul>
<a name="computeValueVectorSize-long-long-double-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>computeValueVectorSize</h4>
<pre>public static&nbsp;long&nbsp;computeValueVectorSize(long&nbsp;numRecords,
long&nbsp;byteSize,
double&nbsp;safetyFactor)</pre>
</li>
</ul>
<a name="roundUpToPowerOf2-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>roundUpToPowerOf2</h4>
<pre>public static&nbsp;long&nbsp;roundUpToPowerOf2(long&nbsp;num)</pre>
</li>
</ul>
<a name="computeMaxBatchSizeNoHash-long-int-int-double-double-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>computeMaxBatchSizeNoHash</h4>
<pre>public static&nbsp;long&nbsp;computeMaxBatchSizeNoHash(long&nbsp;incomingBatchSize,
int&nbsp;incomingNumRecords,
int&nbsp;desiredNumRecords,
double&nbsp;fragmentationFactor,
double&nbsp;safetyFactor)</pre>
</li>
</ul>
<a name="computeMaxBatchSize-long-int-int-double-double-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>computeMaxBatchSize</h4>
<pre>public static&nbsp;long&nbsp;computeMaxBatchSize(long&nbsp;incomingBatchSize,
int&nbsp;incomingNumRecords,
int&nbsp;desiredNumRecords,
double&nbsp;fragmentationFactor,
double&nbsp;safetyFactor,
boolean&nbsp;reserveHash)</pre>
</li>
</ul>
<a name="computePartitionBatchSize-long-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>computePartitionBatchSize</h4>
<pre>public static&nbsp;long&nbsp;computePartitionBatchSize(long&nbsp;incomingBatchSize,
int&nbsp;incomingNumRecords,
int&nbsp;desiredNumRecords)</pre>
</li>
</ul>
<a name="getBatchSizeEstimate-org.apache.drill.exec.record.RecordBatch-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getBatchSizeEstimate</h4>
<pre>public static&nbsp;long&nbsp;getBatchSizeEstimate(<a href="../../../../../../../org/apache/drill/exec/record/RecordBatch.html" title="interface in org.apache.drill.exec.record">RecordBatch</a>&nbsp;recordBatch)</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="class-use/BatchSizePredictorImpl.html">Use</a></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/drill/exec/physical/impl/join/BatchSizePredictor.Factory.html" title="interface in org.apache.drill.exec.physical.impl.join"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../../org/apache/drill/exec/physical/impl/join/BatchSizePredictorImpl.Factory.html" title="class in org.apache.drill.exec.physical.impl.join"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/drill/exec/physical/impl/join/BatchSizePredictorImpl.html" target="_top">Frames</a></li>
<li><a href="BatchSizePredictorImpl.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><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&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>Field&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 ======= -->
<p class="legalCopy"><small>Copyright &#169; 1970 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>