blob: 27bf6d09ce2002234411cf4123f305e87ca01402 [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>HiveTestFixture (Drill : 1.20.0 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="HiveTestFixture (Drill : 1.20.0 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":9,"i2":10,"i3":10,"i4":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/HiveTestFixture.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/hive/HiveTestBase.html" title="class in org.apache.drill.exec.hive"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/drill/exec/hive/HiveTestFixture.Builder.html" title="class in org.apache.drill.exec.hive"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/drill/exec/hive/HiveTestFixture.html" target="_top">Frames</a></li>
<li><a href="HiveTestFixture.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>Constr&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>Constr&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.hive</div>
<h2 title="Class HiveTestFixture" class="title">Class HiveTestFixture</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.hive.HiveTestFixture</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">HiveTestFixture</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></pre>
<div class="block">Test fixture for configuration of Hive tests, which
allows granular control over initialization of test data
and hive storage plugin.
<p>
Below is example of usage HiveTestFixture along with ClusterFixture:
<p>
<pre><code>
// Note that HiveTestFixture doesn't require extension of ClusterTest,
// this is just the simplest way for configuring test drillbit
public class HiveTestExample extends ClusterTest {
private static HiveTestFixture hiveTestFixture;
@BeforeClass
public static void setUp() throws Exception {
startCluster(ClusterFixture.builder(dirTestWatcher));
// Below is minimal config which uses defaults from HiveTestFixture.Builder
// constructor, but any option for driver or storage plugin may be
// overridden using builder's methods
hiveTestFixture = HiveTestFixture.builder(dirTestWatcher).build();
// Use driver manager to configure test data in Hive metastore
hiveTestFixture.getDriverManager().runWithinSession(HiveTestExample::generateData);
// Use plugin manager to add, remove, update hive storage plugin of one or many test drillbits
hiveTestFixture.getPluginManager().addHivePluginTo(cluster.drillbits());
}
private static void generateData(Driver driver) {
// Set up data using HiveTestUtilities.executeQuery(driver, sql)
}
@AfterClass
public static void tearDown() throws Exception {
if (nonNull(hiveTestFixture)) {
hiveTestFixture.getPluginManager().removeHivePluginFrom(cluster.drillbits());
}
}
}
</code></pre></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>
<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/hive/HiveTestFixture.Builder.html" title="class in org.apache.drill.exec.hive">HiveTestFixture.Builder</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/hive/HiveTestFixture.HiveDriverManager.html" title="class in org.apache.drill.exec.hive">HiveTestFixture.HiveDriverManager</a></span></code>
<div class="block">Implements method for initialization and passing
of Hive to consumer instances in order to be used
for test data generation within session.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/hive/HiveTestFixture.HivePluginManager.html" title="class in org.apache.drill.exec.hive">HiveTestFixture.HivePluginManager</a></span></code>
<div class="block">Implements addition, update and deletion of
Hive storage plugin for drillbits passed from outside.</div>
</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 <a href="../../../../../org/apache/drill/exec/hive/HiveTestFixture.Builder.html" title="class in org.apache.drill.exec.hive">HiveTestFixture.Builder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/hive/HiveTestFixture.html#builder-org.apache.drill.test.BaseDirTestWatcher-">builder</a></span>(<a href="../../../../../org/apache/drill/test/BaseDirTestWatcher.html" title="class in org.apache.drill.test">BaseDirTestWatcher</a>&nbsp;dirWatcher)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/drill/exec/hive/HiveTestFixture.Builder.html" title="class in org.apache.drill.exec.hive">HiveTestFixture.Builder</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/hive/HiveTestFixture.html#builder-java.io.File-">builder</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;baseDir)</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/drill/exec/hive/HiveTestFixture.HiveDriverManager.html" title="class in org.apache.drill.exec.hive">HiveTestFixture.HiveDriverManager</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/hive/HiveTestFixture.html#getDriverManager--">getDriverManager</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/drill/exec/hive/HiveTestFixture.HivePluginManager.html" title="class in org.apache.drill.exec.hive">HiveTestFixture.HivePluginManager</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/hive/HiveTestFixture.html#getPluginManager--">getPluginManager</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/drill/exec/hive/HiveTestFixture.html#getWarehouseDir--">getWarehouseDir</a></span>()</code>
<div class="block">Returns current value of 'hive.metastore.warehouse.dir' option
which expected to represent location of metastore warehouse directory.</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">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="builder-org.apache.drill.test.BaseDirTestWatcher-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>builder</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/drill/exec/hive/HiveTestFixture.Builder.html" title="class in org.apache.drill.exec.hive">HiveTestFixture.Builder</a>&nbsp;builder(<a href="../../../../../org/apache/drill/test/BaseDirTestWatcher.html" title="class in org.apache.drill.test">BaseDirTestWatcher</a>&nbsp;dirWatcher)</pre>
</li>
</ul>
<a name="builder-java.io.File-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>builder</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/drill/exec/hive/HiveTestFixture.Builder.html" title="class in org.apache.drill.exec.hive">HiveTestFixture.Builder</a>&nbsp;builder(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a>&nbsp;baseDir)</pre>
</li>
</ul>
<a name="getPluginManager--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPluginManager</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/drill/exec/hive/HiveTestFixture.HivePluginManager.html" title="class in org.apache.drill.exec.hive">HiveTestFixture.HivePluginManager</a>&nbsp;getPluginManager()</pre>
</li>
</ul>
<a name="getDriverManager--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDriverManager</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/drill/exec/hive/HiveTestFixture.HiveDriverManager.html" title="class in org.apache.drill.exec.hive">HiveTestFixture.HiveDriverManager</a>&nbsp;getDriverManager()</pre>
</li>
</ul>
<a name="getWarehouseDir--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getWarehouseDir</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getWarehouseDir()</pre>
<div class="block">Returns current value of 'hive.metastore.warehouse.dir' option
which expected to represent location of metastore warehouse directory.
Builder's user can override any option either of pluginConf or driverConf.
Since setting of the option is not enforced, this method just tries to
find it in any of the conf maps.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>current value of 'hive.metastore.warehouse.dir' option
from pluginConf or driverConf</dd>
</dl>
</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/HiveTestFixture.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/hive/HiveTestBase.html" title="class in org.apache.drill.exec.hive"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/drill/exec/hive/HiveTestFixture.Builder.html" title="class in org.apache.drill.exec.hive"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/drill/exec/hive/HiveTestFixture.html" target="_top">Frames</a></li>
<li><a href="HiveTestFixture.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>Constr&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>Constr&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; 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>