blob: 0f8ecf86bffcaedde08a23a6cca51e8a31d14fcd [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>AvroFileAccessor</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="AvroFileAccessor";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10};
var tabs = {65535:["t0","All 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="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><a href="../../../../../../org/apache/hawq/pxf/plugins/hdfs/AvroResolver.html" title="class in org.apache.hawq.pxf.plugins.hdfs"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hawq/pxf/plugins/hdfs/AvroFileAccessor.html" target="_top">Frames</a></li>
<li><a href="AvroFileAccessor.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><a href="#fields.inherited.from.class.org.apache.hawq.pxf.plugins.hdfs.HdfsSplittableDataAccessor">Field</a>&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.hdfs</div>
<h2 title="Class AvroFileAccessor" class="title">Class AvroFileAccessor</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/hawq/pxf/api/utilities/Plugin.html" title="class in org.apache.hawq.pxf.api.utilities">org.apache.hawq.pxf.api.utilities.Plugin</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/hawq/pxf/plugins/hdfs/HdfsSplittableDataAccessor.html" title="class in org.apache.hawq.pxf.plugins.hdfs">org.apache.hawq.pxf.plugins.hdfs.HdfsSplittableDataAccessor</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hawq.pxf.plugins.hdfs.AvroFileAccessor</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../org/apache/hawq/pxf/api/ReadAccessor.html" title="interface in org.apache.hawq.pxf.api">ReadAccessor</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">AvroFileAccessor</span>
extends <a href="../../../../../../org/apache/hawq/pxf/plugins/hdfs/HdfsSplittableDataAccessor.html" title="class in org.apache.hawq.pxf.plugins.hdfs">HdfsSplittableDataAccessor</a></pre>
<div class="block">A PXF Accessor for reading Avro File records</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hawq.pxf.plugins.hdfs.HdfsSplittableDataAccessor">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.hawq.pxf.plugins.hdfs.<a href="../../../../../../org/apache/hawq/pxf/plugins/hdfs/HdfsSplittableDataAccessor.html" title="class in org.apache.hawq.pxf.plugins.hdfs">HdfsSplittableDataAccessor</a></h3>
<code><a href="../../../../../../org/apache/hawq/pxf/plugins/hdfs/HdfsSplittableDataAccessor.html#conf">conf</a>, <a href="../../../../../../org/apache/hawq/pxf/plugins/hdfs/HdfsSplittableDataAccessor.html#data">data</a>, <a href="../../../../../../org/apache/hawq/pxf/plugins/hdfs/HdfsSplittableDataAccessor.html#inputFormat">inputFormat</a>, <a href="../../../../../../org/apache/hawq/pxf/plugins/hdfs/HdfsSplittableDataAccessor.html#iter">iter</a>, <a href="../../../../../../org/apache/hawq/pxf/plugins/hdfs/HdfsSplittableDataAccessor.html#jobConf">jobConf</a>, <a href="../../../../../../org/apache/hawq/pxf/plugins/hdfs/HdfsSplittableDataAccessor.html#key">key</a>, <a href="../../../../../../org/apache/hawq/pxf/plugins/hdfs/HdfsSplittableDataAccessor.html#reader">reader</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hawq.pxf.api.utilities.Plugin">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.hawq.pxf.api.utilities.<a href="../../../../../../org/apache/hawq/pxf/api/utilities/Plugin.html" title="class in org.apache.hawq.pxf.api.utilities">Plugin</a></h3>
<code><a href="../../../../../../org/apache/hawq/pxf/api/utilities/Plugin.html#inputData">inputData</a></code></li>
</ul>
</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/hawq/pxf/plugins/hdfs/AvroFileAccessor.html#AvroFileAccessor-org.apache.hawq.pxf.api.utilities.InputData-">AvroFileAccessor</a></span>(<a href="../../../../../../org/apache/hawq/pxf/api/utilities/InputData.html" title="class in org.apache.hawq.pxf.api.utilities">InputData</a>&nbsp;input)</code>
<div class="block">Constructs a AvroFileAccessor that creates the job configuration and
accesses the avro file to fetch the avro schema</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="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>protected java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hawq/pxf/plugins/hdfs/AvroFileAccessor.html#getReader-org.apache.hadoop.mapred.JobConf-org.apache.hadoop.mapred.InputSplit-">getReader</a></span>(org.apache.hadoop.mapred.JobConf&nbsp;jobConf,
org.apache.hadoop.mapred.InputSplit&nbsp;split)</code>
<div class="block">Specialized accessors will override this method and implement their own
recordReader.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/hawq/pxf/api/OneRow.html" title="class in org.apache.hawq.pxf.api">OneRow</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hawq/pxf/plugins/hdfs/AvroFileAccessor.html#readNextObject--">readNextObject</a></span>()</code>
<div class="block">readNextObject
The AVRO accessor is currently the only specialized accessor that
overrides this method.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hawq.pxf.plugins.hdfs.HdfsSplittableDataAccessor">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hawq.pxf.plugins.hdfs.<a href="../../../../../../org/apache/hawq/pxf/plugins/hdfs/HdfsSplittableDataAccessor.html" title="class in org.apache.hawq.pxf.plugins.hdfs">HdfsSplittableDataAccessor</a></h3>
<code><a href="../../../../../../org/apache/hawq/pxf/plugins/hdfs/HdfsSplittableDataAccessor.html#closeForRead--">closeForRead</a>, <a href="../../../../../../org/apache/hawq/pxf/plugins/hdfs/HdfsSplittableDataAccessor.html#getNextSplit--">getNextSplit</a>, <a href="../../../../../../org/apache/hawq/pxf/plugins/hdfs/HdfsSplittableDataAccessor.html#isThreadSafe--">isThreadSafe</a>, <a href="../../../../../../org/apache/hawq/pxf/plugins/hdfs/HdfsSplittableDataAccessor.html#openForRead--">openForRead</a></code></li>
</ul>
<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="AvroFileAccessor-org.apache.hawq.pxf.api.utilities.InputData-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AvroFileAccessor</h4>
<pre>public&nbsp;AvroFileAccessor(<a href="../../../../../../org/apache/hawq/pxf/api/utilities/InputData.html" title="class in org.apache.hawq.pxf.api.utilities">InputData</a>&nbsp;input)
throws java.lang.Exception</pre>
<div class="block">Constructs a AvroFileAccessor that creates the job configuration and
accesses the avro file to fetch the avro schema</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>input</code> - all input parameters coming from the client</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.Exception</code> - if getting the avro schema fails</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getReader-org.apache.hadoop.mapred.JobConf-org.apache.hadoop.mapred.InputSplit-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReader</h4>
<pre>protected&nbsp;java.lang.Object&nbsp;getReader(org.apache.hadoop.mapred.JobConf&nbsp;jobConf,
org.apache.hadoop.mapred.InputSplit&nbsp;split)
throws java.io.IOException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hawq/pxf/plugins/hdfs/HdfsSplittableDataAccessor.html#getReader-org.apache.hadoop.mapred.JobConf-org.apache.hadoop.mapred.InputSplit-">HdfsSplittableDataAccessor</a></code></span></div>
<div class="block">Specialized accessors will override this method and implement their own
recordReader. For example, a plain delimited text accessor may want to
return a LineRecordReader.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hawq/pxf/plugins/hdfs/HdfsSplittableDataAccessor.html#getReader-org.apache.hadoop.mapred.JobConf-org.apache.hadoop.mapred.InputSplit-">getReader</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hawq/pxf/plugins/hdfs/HdfsSplittableDataAccessor.html" title="class in org.apache.hawq.pxf.plugins.hdfs">HdfsSplittableDataAccessor</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>jobConf</code> - the hadoop jobconf to use for the selected InputFormat</dd>
<dd><code>split</code> - the input split to be read by the accessor</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a recordreader to be used for reading the data records of the
split</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if recordreader could not be created</dd>
</dl>
</li>
</ul>
<a name="readNextObject--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>readNextObject</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/hawq/pxf/api/OneRow.html" title="class in org.apache.hawq.pxf.api">OneRow</a>&nbsp;readNextObject()
throws java.io.IOException</pre>
<div class="block">readNextObject
The AVRO accessor is currently the only specialized accessor that
overrides this method. This happens, because the special
AvroRecordReader.next() semantics (use of the AvroWrapper), so it
cannot use the RecordReader's default implementation in
SplittableFileAccessor</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hawq/pxf/api/ReadAccessor.html#readNextObject--">readNextObject</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hawq/pxf/api/ReadAccessor.html" title="interface in org.apache.hawq.pxf.api">ReadAccessor</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hawq/pxf/plugins/hdfs/HdfsSplittableDataAccessor.html#readNextObject--">readNextObject</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hawq/pxf/plugins/hdfs/HdfsSplittableDataAccessor.html" title="class in org.apache.hawq.pxf.plugins.hdfs">HdfsSplittableDataAccessor</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the object which was read</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></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><a href="../../../../../../org/apache/hawq/pxf/plugins/hdfs/AvroResolver.html" title="class in org.apache.hawq.pxf.plugins.hdfs"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hawq/pxf/plugins/hdfs/AvroFileAccessor.html" target="_top">Frames</a></li>
<li><a href="AvroFileAccessor.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><a href="#fields.inherited.from.class.org.apache.hawq.pxf.plugins.hdfs.HdfsSplittableDataAccessor">Field</a>&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>