blob: 507f9683ea2455d4beed0c7c45cfe3228d95025f [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_65) on Wed Apr 20 18:03:36 PDT 2016 -->
<title>HiveUtilities</title>
<meta name="date" content="2016-04-20">
<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="HiveUtilities";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/hawq/pxf/plugins/hive/utilities/HiveUtilities.html" target="_top">Frames</a></li>
<li><a href="HiveUtilities.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>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.hawq.pxf.plugins.hive.utilities</div>
<h2 title="Class HiveUtilities" class="title">Class HiveUtilities</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.hawq.pxf.plugins.hive.utilities.HiveUtilities</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">HiveUtilities</span>
extends java.lang.Object</pre>
<div class="block">Class containing helper functions connecting
and interacting with Hive.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== 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/hawq/pxf/plugins/hive/utilities/HiveUtilities.html#HiveUtilities--">HiveUtilities</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="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/hawq/pxf/api/Metadata.Item.html" title="class in org.apache.hawq.pxf.api">Metadata.Item</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hawq/pxf/plugins/hive/utilities/HiveUtilities.html#extractTableFromName-java.lang.String-">extractTableFromName</a></span>(java.lang.String&nbsp;qualifiedName)</code>
<div class="block">Extracts the db_name and table_name from the qualifiedName.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static java.util.List&lt;<a href="../../../../../../../org/apache/hawq/pxf/api/Metadata.Item.html" title="class in org.apache.hawq.pxf.api">Metadata.Item</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hawq/pxf/plugins/hive/utilities/HiveUtilities.html#extractTablesFromPattern-org.apache.hadoop.hive.metastore.HiveMetaStoreClient-java.lang.String-">extractTablesFromPattern</a></span>(org.apache.hadoop.hive.metastore.HiveMetaStoreClient&nbsp;client,
java.lang.String&nbsp;pattern)</code>
<div class="block">Extracts the db_name(s) and table_name(s) corresponding to the given pattern.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static org.apache.hadoop.hive.metastore.api.Table</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hawq/pxf/plugins/hive/utilities/HiveUtilities.html#getHiveTable-org.apache.hadoop.hive.metastore.HiveMetaStoreClient-org.apache.hawq.pxf.api.Metadata.Item-">getHiveTable</a></span>(org.apache.hadoop.hive.metastore.HiveMetaStoreClient&nbsp;client,
<a href="../../../../../../../org/apache/hawq/pxf/api/Metadata.Item.html" title="class in org.apache.hawq.pxf.api">Metadata.Item</a>&nbsp;itemName)</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static org.apache.hadoop.hive.metastore.HiveMetaStoreClient</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hawq/pxf/plugins/hive/utilities/HiveUtilities.html#initHiveClient--">initHiveClient</a></span>()</code>
<div class="block">Initializes the HiveMetaStoreClient
Uses classpath configuration files to locate the MetaStore</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../../../org/apache/hawq/pxf/api/Metadata.Field.html" title="class in org.apache.hawq.pxf.api">Metadata.Field</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../../org/apache/hawq/pxf/plugins/hive/utilities/HiveUtilities.html#mapHiveType-org.apache.hadoop.hive.metastore.api.FieldSchema-">mapHiveType</a></span>(org.apache.hadoop.hive.metastore.api.FieldSchema&nbsp;hiveColumn)</code>
<div class="block">Checks if hive type is supported, and if so
return its matching HAWQ type.</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.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">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="HiveUtilities--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>HiveUtilities</h4>
<pre>public&nbsp;HiveUtilities()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="initHiveClient--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initHiveClient</h4>
<pre>public static&nbsp;org.apache.hadoop.hive.metastore.HiveMetaStoreClient&nbsp;initHiveClient()</pre>
<div class="block">Initializes the HiveMetaStoreClient
Uses classpath configuration files to locate the MetaStore</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>initialized client</dd>
</dl>
</li>
</ul>
<a name="getHiveTable-org.apache.hadoop.hive.metastore.HiveMetaStoreClient-org.apache.hawq.pxf.api.Metadata.Item-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHiveTable</h4>
<pre>public static&nbsp;org.apache.hadoop.hive.metastore.api.Table&nbsp;getHiveTable(org.apache.hadoop.hive.metastore.HiveMetaStoreClient&nbsp;client,
<a href="../../../../../../../org/apache/hawq/pxf/api/Metadata.Item.html" title="class in org.apache.hawq.pxf.api">Metadata.Item</a>&nbsp;itemName)
throws java.lang.Exception</pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</li>
</ul>
<a name="mapHiveType-org.apache.hadoop.hive.metastore.api.FieldSchema-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mapHiveType</h4>
<pre>public static&nbsp;<a href="../../../../../../../org/apache/hawq/pxf/api/Metadata.Field.html" title="class in org.apache.hawq.pxf.api">Metadata.Field</a>&nbsp;mapHiveType(org.apache.hadoop.hive.metastore.api.FieldSchema&nbsp;hiveColumn)
throws <a href="../../../../../../../org/apache/hawq/pxf/api/UnsupportedTypeException.html" title="class in org.apache.hawq.pxf.api">UnsupportedTypeException</a></pre>
<div class="block">Checks if hive type is supported, and if so
return its matching HAWQ type.
Unsupported types will result in an exception.
<br>
The supported mappings are:<ul>
<li><code>tinyint -&gt; int2</code></li>
<li><code>smallint -&gt; int2</code></li>
<li><code>int -&gt; int4</code></li>
<li><code>bigint -&gt; int8</code></li>
<li><code>boolean -&gt; bool</code></li>
<li><code>float -&gt; float4</code></li>
<li><code>double -&gt; float8</code></li>
<li><code>string -&gt; text</code></li>
<li><code>binary -&gt; bytea</code></li>
<li><code>timestamp -&gt; timestamp</code></li>
<li><code>date -&gt; date</code></li>
<li><code>decimal(precision, scale) -&gt; numeric(precision, scale)</code></li>
<li><code>varchar(size) -&gt; varchar(size)</code></li>
<li><code>char(size) -&gt; bpchar(size)</code></li>
</ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>hiveColumn</code> - hive column schema</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>field with mapped HAWQ type and modifiers</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../../../org/apache/hawq/pxf/api/UnsupportedTypeException.html" title="class in org.apache.hawq.pxf.api">UnsupportedTypeException</a></code> - if the column type is not supported</dd>
</dl>
</li>
</ul>
<a name="extractTableFromName-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>extractTableFromName</h4>
<pre>public static&nbsp;<a href="../../../../../../../org/apache/hawq/pxf/api/Metadata.Item.html" title="class in org.apache.hawq.pxf.api">Metadata.Item</a>&nbsp;extractTableFromName(java.lang.String&nbsp;qualifiedName)</pre>
<div class="block">Extracts the db_name and table_name from the qualifiedName.
qualifiedName is the Hive table name that the user enters in the CREATE EXTERNAL TABLE statement
or when querying HCatalog table.
It can be either <code>table_name</code> or <code>db_name.table_name</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>qualifiedName</code> - Hive table name</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>Metadata.Item</code> object holding the full table name</dd>
</dl>
</li>
</ul>
<a name="extractTablesFromPattern-org.apache.hadoop.hive.metastore.HiveMetaStoreClient-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>extractTablesFromPattern</h4>
<pre>public static&nbsp;java.util.List&lt;<a href="../../../../../../../org/apache/hawq/pxf/api/Metadata.Item.html" title="class in org.apache.hawq.pxf.api">Metadata.Item</a>&gt;&nbsp;extractTablesFromPattern(org.apache.hadoop.hive.metastore.HiveMetaStoreClient&nbsp;client,
java.lang.String&nbsp;pattern)</pre>
<div class="block">Extracts the db_name(s) and table_name(s) corresponding to the given pattern.
pattern is the Hive table name or pattern that the user enters in the CREATE EXTERNAL TABLE statement
or when querying HCatalog table.
It can be either <code>table_name_pattern</code> or <code>db_name_pattern.table_name_pattern</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>client</code> - Hivemetastore client</dd>
<dd><code>pattern</code> - Hive table name or pattern</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>list of <code>Metadata.Item</code> objects holding the full table name</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="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>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../../index.html?org/apache/hawq/pxf/plugins/hive/utilities/HiveUtilities.html" target="_top">Frames</a></li>
<li><a href="HiveUtilities.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>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 ======= -->
</body>
</html>