<!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 (version 1.7.0_80) on Tue Aug 30 09:57:33 EDT 2016 -->
<title>B-Index</title>
<meta name="date" content="2016-08-30">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="B-Index";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="../overview-tree.html">Tree</a></li>
<li><a href="../deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="index-1.html">Prev Letter</a></li>
<li><a href="index-3.html">Next Letter</a></li>
</ul>
<ul class="navList">
<li><a href="../index.html?index-filesindex-2.html" target="_top">Frames</a></li>
<li><a href="index-2.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../allclasses-noframe.html">All 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="contentContainer"><a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">J</a>&nbsp;<a href="index-11.html">K</a>&nbsp;<a href="index-12.html">L</a>&nbsp;<a href="index-13.html">M</a>&nbsp;<a href="index-14.html">N</a>&nbsp;<a href="index-15.html">O</a>&nbsp;<a href="index-16.html">P</a>&nbsp;<a href="index-17.html">Q</a>&nbsp;<a href="index-18.html">R</a>&nbsp;<a href="index-19.html">S</a>&nbsp;<a href="index-20.html">T</a>&nbsp;<a href="index-21.html">U</a>&nbsp;<a href="index-22.html">V</a>&nbsp;<a href="index-23.html">W</a>&nbsp;<a name="_B_">
<!--   -->
</a>
<h2 class="title">B</h2>
<dl>
<dt><span class="strong"><a href="../org/apache/pirk/inputformat/hadoop/InputFormatConst.html#BASE_FORMAT">BASE_FORMAT</a></span> - Static variable in class org.apache.pirk.inputformat.hadoop.<a href="../org/apache/pirk/inputformat/hadoop/InputFormatConst.html" title="class in org.apache.pirk.inputformat.hadoop">InputFormatConst</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/apache/pirk/inputformat/hadoop/BaseInputFormat.html" title="class in org.apache.pirk.inputformat.hadoop"><span class="strong">BaseInputFormat</span></a>&lt;<a href="../org/apache/pirk/inputformat/hadoop/BaseInputFormat.html" title="type parameter in BaseInputFormat">Text</a>,<a href="../org/apache/pirk/inputformat/hadoop/BaseInputFormat.html" title="type parameter in BaseInputFormat">MapWritable</a>&gt; - Class in <a href="../org/apache/pirk/inputformat/hadoop/package-summary.html">org.apache.pirk.inputformat.hadoop</a></dt>
<dd>
<div class="block">All input formats used must extend this class</div>
</dd>
<dt><span class="strong"><a href="../org/apache/pirk/inputformat/hadoop/BaseInputFormat.html#BaseInputFormat()">BaseInputFormat()</a></span> - Constructor for class org.apache.pirk.inputformat.hadoop.<a href="../org/apache/pirk/inputformat/hadoop/BaseInputFormat.html" title="class in org.apache.pirk.inputformat.hadoop">BaseInputFormat</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/apache/pirk/responder/wideskies/ResponderProps.html#BASEINPUTFORMAT">BASEINPUTFORMAT</a></span> - Static variable in class org.apache.pirk.responder.wideskies.<a href="../org/apache/pirk/responder/wideskies/ResponderProps.html" title="class in org.apache.pirk.responder.wideskies">ResponderProps</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/apache/pirk/responder/wideskies/ResponderProps.html#BASEQUERY">BASEQUERY</a></span> - Static variable in class org.apache.pirk.responder.wideskies.<a href="../org/apache/pirk/responder/wideskies/ResponderProps.html" title="class in org.apache.pirk.responder.wideskies">ResponderProps</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/apache/pirk/test/utils/BaseTests.html" title="class in org.apache.pirk.test.utils"><span class="strong">BaseTests</span></a> - Class in <a href="../org/apache/pirk/test/utils/package-summary.html">org.apache.pirk.test.utils</a></dt>
<dd>
<div class="block">Class to hold the base functional distributed tests</div>
</dd>
<dt><span class="strong"><a href="../org/apache/pirk/test/utils/BaseTests.html#BaseTests()">BaseTests()</a></span> - Constructor for class org.apache.pirk.test.utils.<a href="../org/apache/pirk/test/utils/BaseTests.html" title="class in org.apache.pirk.test.utils">BaseTests</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/apache/pirk/responder/wideskies/ResponderProps.html#BATCHSECONDS">BATCHSECONDS</a></span> - Static variable in class org.apache.pirk.responder.wideskies.<a href="../org/apache/pirk/responder/wideskies/ResponderProps.html" title="class in org.apache.pirk.responder.wideskies">ResponderProps</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/apache/pirk/benchmark/BenchmarkDriver.html" title="class in org.apache.pirk.benchmark"><span class="strong">BenchmarkDriver</span></a> - Class in <a href="../org/apache/pirk/benchmark/package-summary.html">org.apache.pirk.benchmark</a></dt>
<dd>
<div class="block">Driver for JMH benchmarking</div>
</dd>
<dt><span class="strong"><a href="../org/apache/pirk/benchmark/BenchmarkDriver.html#BenchmarkDriver()">BenchmarkDriver()</a></span> - Constructor for class org.apache.pirk.benchmark.<a href="../org/apache/pirk/benchmark/BenchmarkDriver.html" title="class in org.apache.pirk.benchmark">BenchmarkDriver</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html" title="class in org.apache.pirk.responder.wideskies.spark"><span class="strong">BroadcastVars</span></a> - Class in <a href="../org/apache/pirk/responder/wideskies/spark/package-summary.html">org.apache.pirk.responder.wideskies.spark</a></dt>
<dd>
<div class="block">Class to hold the broadcast variables</div>
</dd>
<dt><span class="strong"><a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html#BroadcastVars(org.apache.spark.api.java.JavaSparkContext)">BroadcastVars(JavaSparkContext)</a></span> - Constructor for class org.apache.pirk.responder.wideskies.spark.<a href="../org/apache/pirk/responder/wideskies/spark/BroadcastVars.html" title="class in org.apache.pirk.responder.wideskies.spark">BroadcastVars</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/apache/pirk/schema/data/partitioner/PrimitiveTypePartitioner.html#BYTE">BYTE</a></span> - Static variable in class org.apache.pirk.schema.data.partitioner.<a href="../org/apache/pirk/schema/data/partitioner/PrimitiveTypePartitioner.html" title="class in org.apache.pirk.schema.data.partitioner">PrimitiveTypePartitioner</a></dt>
<dd>&nbsp;</dd>
<dt><a href="../org/apache/pirk/inputformat/hadoop/BytesArrayWritable.html" title="class in org.apache.pirk.inputformat.hadoop"><span class="strong">BytesArrayWritable</span></a> - Class in <a href="../org/apache/pirk/inputformat/hadoop/package-summary.html">org.apache.pirk.inputformat.hadoop</a></dt>
<dd>
<div class="block">ArrayWritable class with ByteWritable entries</div>
</dd>
<dt><span class="strong"><a href="../org/apache/pirk/inputformat/hadoop/BytesArrayWritable.html#BytesArrayWritable()">BytesArrayWritable()</a></span> - Constructor for class org.apache.pirk.inputformat.hadoop.<a href="../org/apache/pirk/inputformat/hadoop/BytesArrayWritable.html" title="class in org.apache.pirk.inputformat.hadoop">BytesArrayWritable</a></dt>
<dd>&nbsp;</dd>
<dt><span class="strong"><a href="../org/apache/pirk/inputformat/hadoop/BytesArrayWritable.html#BytesArrayWritable(byte[][])">BytesArrayWritable(byte[][])</a></span> - Constructor for class org.apache.pirk.inputformat.hadoop.<a href="../org/apache/pirk/inputformat/hadoop/BytesArrayWritable.html" title="class in org.apache.pirk.inputformat.hadoop">BytesArrayWritable</a></dt>
<dd>
<div class="block">Constructor for use when underlying array will be BytesWritable representations of byte[]</div>
</dd>
<dt><span class="strong"><a href="../org/apache/pirk/inputformat/hadoop/BytesArrayWritable.html#BytesArrayWritable(java.util.List)">BytesArrayWritable(List&lt;BigInteger&gt;)</a></span> - Constructor for class org.apache.pirk.inputformat.hadoop.<a href="../org/apache/pirk/inputformat/hadoop/BytesArrayWritable.html" title="class in org.apache.pirk.inputformat.hadoop">BytesArrayWritable</a></dt>
<dd>
<div class="block">Constructor for use when underlying array will be ByteWritable representations of BigInteger objects</div>
</dd>
</dl>
<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">J</a>&nbsp;<a href="index-11.html">K</a>&nbsp;<a href="index-12.html">L</a>&nbsp;<a href="index-13.html">M</a>&nbsp;<a href="index-14.html">N</a>&nbsp;<a href="index-15.html">O</a>&nbsp;<a href="index-16.html">P</a>&nbsp;<a href="index-17.html">Q</a>&nbsp;<a href="index-18.html">R</a>&nbsp;<a href="index-19.html">S</a>&nbsp;<a href="index-20.html">T</a>&nbsp;<a href="index-21.html">U</a>&nbsp;<a href="index-22.html">V</a>&nbsp;<a href="index-23.html">W</a>&nbsp;</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="../overview-tree.html">Tree</a></li>
<li><a href="../deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="index-1.html">Prev Letter</a></li>
<li><a href="index-3.html">Next Letter</a></li>
</ul>
<ul class="navList">
<li><a href="../index.html?index-filesindex-2.html" target="_top">Frames</a></li>
<li><a href="index-2.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../allclasses-noframe.html">All 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>
