blob: a6dbc7f7d13a6c12ebbd8b5550060e5e9965be86 [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_181-google-v7) on Wed Aug 14 17:37:14 PDT 2019 -->
<title>BlockBasedSource (Apache Beam 2.15.0-SNAPSHOT)</title>
<meta name="date" content="2019-08-14">
<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="BlockBasedSource (Apache Beam 2.15.0-SNAPSHOT)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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><a href="../../../../../org/apache/beam/sdk/io/AvroSource.AvroReader.html" title="class in org.apache.beam.sdk.io"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.Block.html" title="class in org.apache.beam.sdk.io"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/beam/sdk/io/BlockBasedSource.html" target="_top">Frames</a></li>
<li><a href="BlockBasedSource.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.beam.sdk.io</div>
<h2 title="Class BlockBasedSource" class="title">Class BlockBasedSource&lt;T&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/beam/sdk/io/Source.html" title="class in org.apache.beam.sdk.io">org.apache.beam.sdk.io.Source</a>&lt;T&gt;</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/beam/sdk/io/BoundedSource.html" title="class in org.apache.beam.sdk.io">org.apache.beam.sdk.io.BoundedSource</a>&lt;T&gt;</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/beam/sdk/io/OffsetBasedSource.html" title="class in org.apache.beam.sdk.io">org.apache.beam.sdk.io.OffsetBasedSource</a>&lt;T&gt;</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html" title="class in org.apache.beam.sdk.io">org.apache.beam.sdk.io.FileBasedSource</a>&lt;T&gt;</li>
<li>
<ul class="inheritance">
<li>org.apache.beam.sdk.io.BlockBasedSource&lt;T&gt;</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - The type of records to be read from the source.</dd>
</dl>
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.io.Serializable, <a href="../../../../../org/apache/beam/sdk/transforms/display/HasDisplayData.html" title="interface in org.apache.beam.sdk.transforms.display">HasDisplayData</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../org/apache/beam/sdk/io/AvroSource.html" title="class in org.apache.beam.sdk.io">AvroSource</a></dd>
</dl>
<hr>
<br>
<pre><a href="../../../../../org/apache/beam/sdk/annotations/Experimental.html" title="annotation in org.apache.beam.sdk.annotations">@Experimental</a>(<a href="../../../../../org/apache/beam/sdk/annotations/Experimental.html#value--">value</a>=<a href="../../../../../org/apache/beam/sdk/annotations/Experimental.Kind.html#SOURCE_SINK">SOURCE_SINK</a>)
public abstract class <span class="typeNameLabel">BlockBasedSource&lt;T&gt;</span>
extends <a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html" title="class in org.apache.beam.sdk.io">FileBasedSource</a>&lt;T&gt;</pre>
<div class="block">A <code>BlockBasedSource</code> is a <a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html" title="class in org.apache.beam.sdk.io"><code>FileBasedSource</code></a> where a file consists of blocks of
records.
<p><code>BlockBasedSource</code> should be derived from when a file format does not support efficient
seeking to a record in the file, but can support efficient seeking to a block. Alternatively,
records in the file cannot be offset-addressed, but blocks can (it is not possible to say that
record {code i} starts at offset <code>m</code>, but it is possible to say that block <code>j</code> starts
at offset <code>n</code>).
<p>The records that will be read from a <code>BlockBasedSource</code> that corresponds to a subrange
of a file <code>[startOffset, endOffset)</code> are those records such that the record is contained in
a block that starts at offset <code>i</code>, where <code>i &gt;= startOffset</code> and <code>i &lt;
endOffset</code>. In other words, a record will be read from the source if its first byte is contained
in a block that begins within the range described by the source.
<p>This entails that it is possible to determine the start offsets of all blocks in a file.
<p>Progress reporting for reading from a <code>BlockBasedSource</code> is inaccurate. A <a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.BlockBasedReader.html" title="class in org.apache.beam.sdk.io"><code>BlockBasedSource.BlockBasedReader</code></a> reports its current offset as <code>(offset of current block) + (current block
size) * (fraction of block consumed)</code>. However, only the offset of the current block is required
to be accurately reported by subclass implementations. As such, in the worst case, the current
offset is only updated at block boundaries.
<p><code>BlockBasedSource</code> supports dynamic splitting. However, because records in a <code>BlockBasedSource</code> are not required to have offsets and progress reporting is inaccurate, <code>BlockBasedReader</code> only supports splitting at block boundaries. In other words, <a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.BlockBasedReader.html#atSplitPoint"><code>BlockBasedSource.BlockBasedReader.atSplitPoint</code></a> returns true iff the current record is the first record in a
block. See <a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.FileBasedReader.html" title="class in org.apache.beam.sdk.io"><code>FileBasedSource.FileBasedReader</code></a> for discussion about split points.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../serialized-form.html#org.apache.beam.sdk.io.BlockBasedSource">Serialized Form</a></dd>
</dl>
</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>protected static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.Block.html" title="class in org.apache.beam.sdk.io">BlockBasedSource.Block</a>&lt;<a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.Block.html" title="type parameter in BlockBasedSource.Block">T</a>&gt;</span></code>
<div class="block">A <code>Block</code> represents a block of records that can be read.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.BlockBasedReader.html" title="class in org.apache.beam.sdk.io">BlockBasedSource.BlockBasedReader</a>&lt;<a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.BlockBasedReader.html" title="type parameter in BlockBasedSource.BlockBasedReader">T</a>&gt;</span></code>
<div class="block">A <code>Reader</code> that reads records from a <a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.html" title="class in org.apache.beam.sdk.io"><code>BlockBasedSource</code></a>.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.beam.sdk.io.FileBasedSource">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.beam.sdk.io.<a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html" title="class in org.apache.beam.sdk.io">FileBasedSource</a></h3>
<code><a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.FileBasedReader.html" title="class in org.apache.beam.sdk.io">FileBasedSource.FileBasedReader</a>&lt;<a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.FileBasedReader.html" title="type parameter in FileBasedSource.FileBasedReader">T</a>&gt;, <a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.Mode.html" title="enum in org.apache.beam.sdk.io">FileBasedSource.Mode</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.beam.sdk.io.OffsetBasedSource">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.beam.sdk.io.<a href="../../../../../org/apache/beam/sdk/io/OffsetBasedSource.html" title="class in org.apache.beam.sdk.io">OffsetBasedSource</a></h3>
<code><a href="../../../../../org/apache/beam/sdk/io/OffsetBasedSource.OffsetBasedReader.html" title="class in org.apache.beam.sdk.io">OffsetBasedSource.OffsetBasedReader</a>&lt;<a href="../../../../../org/apache/beam/sdk/io/OffsetBasedSource.OffsetBasedReader.html" title="type parameter in OffsetBasedSource.OffsetBasedReader">T</a>&gt;</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.beam.sdk.io.BoundedSource">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.beam.sdk.io.<a href="../../../../../org/apache/beam/sdk/io/BoundedSource.html" title="class in org.apache.beam.sdk.io">BoundedSource</a></h3>
<code><a href="../../../../../org/apache/beam/sdk/io/BoundedSource.BoundedReader.html" title="class in org.apache.beam.sdk.io">BoundedSource.BoundedReader</a>&lt;<a href="../../../../../org/apache/beam/sdk/io/BoundedSource.BoundedReader.html" title="type parameter in BoundedSource.BoundedReader">T</a>&gt;</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.beam.sdk.io.Source">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.beam.sdk.io.<a href="../../../../../org/apache/beam/sdk/io/Source.html" title="class in org.apache.beam.sdk.io">Source</a></h3>
<code><a href="../../../../../org/apache/beam/sdk/io/Source.Reader.html" title="class in org.apache.beam.sdk.io">Source.Reader</a>&lt;<a href="../../../../../org/apache/beam/sdk/io/Source.Reader.html" title="type parameter in Source.Reader">T</a>&gt;</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/beam/sdk/io/BlockBasedSource.html#BlockBasedSource-org.apache.beam.sdk.io.fs.MatchResult.Metadata-long-long-long-">BlockBasedSource</a></span>(<a href="../../../../../org/apache/beam/sdk/io/fs/MatchResult.Metadata.html" title="class in org.apache.beam.sdk.io.fs">MatchResult.Metadata</a>&nbsp;metadata,
long&nbsp;minBundleSize,
long&nbsp;startOffset,
long&nbsp;endOffset)</code>
<div class="block">Creates a <code>BlockBasedSource</code> for a single file.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.html#BlockBasedSource-java.lang.String-org.apache.beam.sdk.io.fs.EmptyMatchTreatment-long-">BlockBasedSource</a></span>(java.lang.String&nbsp;fileOrPatternSpec,
<a href="../../../../../org/apache/beam/sdk/io/fs/EmptyMatchTreatment.html" title="enum in org.apache.beam.sdk.io.fs">EmptyMatchTreatment</a>&nbsp;emptyMatchTreatment,
long&nbsp;minBundleSize)</code>
<div class="block">Creates a <code>BlockBasedSource</code> based on a file name or pattern.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.html#BlockBasedSource-java.lang.String-long-">BlockBasedSource</a></span>(java.lang.String&nbsp;fileOrPatternSpec,
long&nbsp;minBundleSize)</code>
<div class="block">Like <a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.html#BlockBasedSource-java.lang.String-org.apache.beam.sdk.io.fs.EmptyMatchTreatment-long-"><code>BlockBasedSource(String, EmptyMatchTreatment, long)</code></a> but with a default <a href="../../../../../org/apache/beam/sdk/io/fs/EmptyMatchTreatment.html" title="enum in org.apache.beam.sdk.io.fs"><code>EmptyMatchTreatment</code></a> of <a href="../../../../../org/apache/beam/sdk/io/fs/EmptyMatchTreatment.html#DISALLOW"><code>EmptyMatchTreatment.DISALLOW</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.html#BlockBasedSource-org.apache.beam.sdk.options.ValueProvider-org.apache.beam.sdk.io.fs.EmptyMatchTreatment-long-">BlockBasedSource</a></span>(<a href="../../../../../org/apache/beam/sdk/options/ValueProvider.html" title="interface in org.apache.beam.sdk.options">ValueProvider</a>&lt;java.lang.String&gt;&nbsp;fileOrPatternSpec,
<a href="../../../../../org/apache/beam/sdk/io/fs/EmptyMatchTreatment.html" title="enum in org.apache.beam.sdk.io.fs">EmptyMatchTreatment</a>&nbsp;emptyMatchTreatment,
long&nbsp;minBundleSize)</code>
<div class="block">Like <a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.html#BlockBasedSource-java.lang.String-org.apache.beam.sdk.io.fs.EmptyMatchTreatment-long-"><code>BlockBasedSource(String, EmptyMatchTreatment, long)</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.html#BlockBasedSource-org.apache.beam.sdk.options.ValueProvider-long-">BlockBasedSource</a></span>(<a href="../../../../../org/apache/beam/sdk/options/ValueProvider.html" title="interface in org.apache.beam.sdk.options">ValueProvider</a>&lt;java.lang.String&gt;&nbsp;fileOrPatternSpec,
long&nbsp;minBundleSize)</code>
<div class="block">Like <a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.html#BlockBasedSource-java.lang.String-long-"><code>BlockBasedSource(String, long)</code></a>.</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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract 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 abstract <a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.html" title="class in org.apache.beam.sdk.io">BlockBasedSource</a>&lt;<a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.html" title="type parameter in BlockBasedSource">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.html#createForSubrangeOfFile-org.apache.beam.sdk.io.fs.MatchResult.Metadata-long-long-">createForSubrangeOfFile</a></span>(<a href="../../../../../org/apache/beam/sdk/io/fs/MatchResult.Metadata.html" title="class in org.apache.beam.sdk.io.fs">MatchResult.Metadata</a>&nbsp;metadata,
long&nbsp;start,
long&nbsp;end)</code>
<div class="block">Creates a <code>BlockBasedSource</code> for the specified range in a single file.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected abstract <a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.BlockBasedReader.html" title="class in org.apache.beam.sdk.io">BlockBasedSource.BlockBasedReader</a>&lt;<a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.html" title="type parameter in BlockBasedSource">T</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.html#createSingleFileReader-org.apache.beam.sdk.options.PipelineOptions-">createSingleFileReader</a></span>(<a href="../../../../../org/apache/beam/sdk/options/PipelineOptions.html" title="interface in org.apache.beam.sdk.options">PipelineOptions</a>&nbsp;options)</code>
<div class="block">Creates a <code>BlockBasedReader</code>.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.beam.sdk.io.FileBasedSource">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.beam.sdk.io.<a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html" title="class in org.apache.beam.sdk.io">FileBasedSource</a></h3>
<code><a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html#createReader-org.apache.beam.sdk.options.PipelineOptions-">createReader</a>, <a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html#createSourceForSubrange-long-long-">createSourceForSubrange</a>, <a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html#getEmptyMatchTreatment--">getEmptyMatchTreatment</a>, <a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html#getEstimatedSizeBytes-org.apache.beam.sdk.options.PipelineOptions-">getEstimatedSizeBytes</a>, <a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html#getFileOrPatternSpec--">getFileOrPatternSpec</a>, <a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html#getFileOrPatternSpecProvider--">getFileOrPatternSpecProvider</a>, <a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html#getMaxEndOffset-org.apache.beam.sdk.options.PipelineOptions-">getMaxEndOffset</a>, <a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html#getMode--">getMode</a>, <a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html#getSingleFileMetadata--">getSingleFileMetadata</a>, <a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html#isSplittable--">isSplittable</a>, <a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html#populateDisplayData-org.apache.beam.sdk.transforms.display.DisplayData.Builder-">populateDisplayData</a>, <a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html#split-long-org.apache.beam.sdk.options.PipelineOptions-">split</a>, <a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html#toString--">toString</a>, <a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html#validate--">validate</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.beam.sdk.io.OffsetBasedSource">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.beam.sdk.io.<a href="../../../../../org/apache/beam/sdk/io/OffsetBasedSource.html" title="class in org.apache.beam.sdk.io">OffsetBasedSource</a></h3>
<code><a href="../../../../../org/apache/beam/sdk/io/OffsetBasedSource.html#getBytesPerOffset--">getBytesPerOffset</a>, <a href="../../../../../org/apache/beam/sdk/io/OffsetBasedSource.html#getEndOffset--">getEndOffset</a>, <a href="../../../../../org/apache/beam/sdk/io/OffsetBasedSource.html#getMinBundleSize--">getMinBundleSize</a>, <a href="../../../../../org/apache/beam/sdk/io/OffsetBasedSource.html#getStartOffset--">getStartOffset</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.beam.sdk.io.Source">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.beam.sdk.io.<a href="../../../../../org/apache/beam/sdk/io/Source.html" title="class in org.apache.beam.sdk.io">Source</a></h3>
<code><a href="../../../../../org/apache/beam/sdk/io/Source.html#getDefaultOutputCoder--">getDefaultOutputCoder</a>, <a href="../../../../../org/apache/beam/sdk/io/Source.html#getOutputCoder--">getOutputCoder</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, 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="BlockBasedSource-java.lang.String-org.apache.beam.sdk.io.fs.EmptyMatchTreatment-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BlockBasedSource</h4>
<pre>public&nbsp;BlockBasedSource(java.lang.String&nbsp;fileOrPatternSpec,
<a href="../../../../../org/apache/beam/sdk/io/fs/EmptyMatchTreatment.html" title="enum in org.apache.beam.sdk.io.fs">EmptyMatchTreatment</a>&nbsp;emptyMatchTreatment,
long&nbsp;minBundleSize)</pre>
<div class="block">Creates a <code>BlockBasedSource</code> based on a file name or pattern. Subclasses must call this
constructor when creating a <code>BlockBasedSource</code> for a file pattern. See <a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html" title="class in org.apache.beam.sdk.io"><code>FileBasedSource</code></a> for more information.</div>
</li>
</ul>
<a name="BlockBasedSource-java.lang.String-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BlockBasedSource</h4>
<pre>public&nbsp;BlockBasedSource(java.lang.String&nbsp;fileOrPatternSpec,
long&nbsp;minBundleSize)</pre>
<div class="block">Like <a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.html#BlockBasedSource-java.lang.String-org.apache.beam.sdk.io.fs.EmptyMatchTreatment-long-"><code>BlockBasedSource(String, EmptyMatchTreatment, long)</code></a> but with a default <a href="../../../../../org/apache/beam/sdk/io/fs/EmptyMatchTreatment.html" title="enum in org.apache.beam.sdk.io.fs"><code>EmptyMatchTreatment</code></a> of <a href="../../../../../org/apache/beam/sdk/io/fs/EmptyMatchTreatment.html#DISALLOW"><code>EmptyMatchTreatment.DISALLOW</code></a>.</div>
</li>
</ul>
<a name="BlockBasedSource-org.apache.beam.sdk.options.ValueProvider-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BlockBasedSource</h4>
<pre>public&nbsp;BlockBasedSource(<a href="../../../../../org/apache/beam/sdk/options/ValueProvider.html" title="interface in org.apache.beam.sdk.options">ValueProvider</a>&lt;java.lang.String&gt;&nbsp;fileOrPatternSpec,
long&nbsp;minBundleSize)</pre>
<div class="block">Like <a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.html#BlockBasedSource-java.lang.String-long-"><code>BlockBasedSource(String, long)</code></a>.</div>
</li>
</ul>
<a name="BlockBasedSource-org.apache.beam.sdk.options.ValueProvider-org.apache.beam.sdk.io.fs.EmptyMatchTreatment-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BlockBasedSource</h4>
<pre>public&nbsp;BlockBasedSource(<a href="../../../../../org/apache/beam/sdk/options/ValueProvider.html" title="interface in org.apache.beam.sdk.options">ValueProvider</a>&lt;java.lang.String&gt;&nbsp;fileOrPatternSpec,
<a href="../../../../../org/apache/beam/sdk/io/fs/EmptyMatchTreatment.html" title="enum in org.apache.beam.sdk.io.fs">EmptyMatchTreatment</a>&nbsp;emptyMatchTreatment,
long&nbsp;minBundleSize)</pre>
<div class="block">Like <a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.html#BlockBasedSource-java.lang.String-org.apache.beam.sdk.io.fs.EmptyMatchTreatment-long-"><code>BlockBasedSource(String, EmptyMatchTreatment, long)</code></a>.</div>
</li>
</ul>
<a name="BlockBasedSource-org.apache.beam.sdk.io.fs.MatchResult.Metadata-long-long-long-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>BlockBasedSource</h4>
<pre>public&nbsp;BlockBasedSource(<a href="../../../../../org/apache/beam/sdk/io/fs/MatchResult.Metadata.html" title="class in org.apache.beam.sdk.io.fs">MatchResult.Metadata</a>&nbsp;metadata,
long&nbsp;minBundleSize,
long&nbsp;startOffset,
long&nbsp;endOffset)</pre>
<div class="block">Creates a <code>BlockBasedSource</code> for a single file. Subclasses must call this constructor
when implementing <a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.html#createForSubrangeOfFile-org.apache.beam.sdk.io.fs.MatchResult.Metadata-long-long-"><code>createForSubrangeOfFile(org.apache.beam.sdk.io.fs.MatchResult.Metadata, long, long)</code></a>. See documentation in <a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html" title="class in org.apache.beam.sdk.io"><code>FileBasedSource</code></a>.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="createForSubrangeOfFile-org.apache.beam.sdk.io.fs.MatchResult.Metadata-long-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createForSubrangeOfFile</h4>
<pre>protected abstract&nbsp;<a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.html" title="class in org.apache.beam.sdk.io">BlockBasedSource</a>&lt;<a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.html" title="type parameter in BlockBasedSource">T</a>&gt;&nbsp;createForSubrangeOfFile(<a href="../../../../../org/apache/beam/sdk/io/fs/MatchResult.Metadata.html" title="class in org.apache.beam.sdk.io.fs">MatchResult.Metadata</a>&nbsp;metadata,
long&nbsp;start,
long&nbsp;end)</pre>
<div class="block">Creates a <code>BlockBasedSource</code> for the specified range in a single file.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html#createForSubrangeOfFile-org.apache.beam.sdk.io.fs.MatchResult.Metadata-long-long-">createForSubrangeOfFile</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html" title="class in org.apache.beam.sdk.io">FileBasedSource</a>&lt;<a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.html" title="type parameter in BlockBasedSource">T</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>metadata</code> - file backing the new <code>FileBasedSource</code>.</dd>
<dd><code>start</code> - starting byte offset of the new <code>FileBasedSource</code>.</dd>
<dd><code>end</code> - ending byte offset of the new <code>FileBasedSource</code>. May be Long.MAX_VALUE, in
which case it will be inferred using <a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html#getMaxEndOffset-org.apache.beam.sdk.options.PipelineOptions-"><code>FileBasedSource.getMaxEndOffset(org.apache.beam.sdk.options.PipelineOptions)</code></a>.</dd>
</dl>
</li>
</ul>
<a name="createSingleFileReader-org.apache.beam.sdk.options.PipelineOptions-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>createSingleFileReader</h4>
<pre>protected abstract&nbsp;<a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.BlockBasedReader.html" title="class in org.apache.beam.sdk.io">BlockBasedSource.BlockBasedReader</a>&lt;<a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.html" title="type parameter in BlockBasedSource">T</a>&gt;&nbsp;createSingleFileReader(<a href="../../../../../org/apache/beam/sdk/options/PipelineOptions.html" title="interface in org.apache.beam.sdk.options">PipelineOptions</a>&nbsp;options)</pre>
<div class="block">Creates a <code>BlockBasedReader</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html#createSingleFileReader-org.apache.beam.sdk.options.PipelineOptions-">createSingleFileReader</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/beam/sdk/io/FileBasedSource.html" title="class in org.apache.beam.sdk.io">FileBasedSource</a>&lt;<a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.html" title="type parameter in BlockBasedSource">T</a>&gt;</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><a href="../../../../../org/apache/beam/sdk/io/AvroSource.AvroReader.html" title="class in org.apache.beam.sdk.io"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/beam/sdk/io/BlockBasedSource.Block.html" title="class in org.apache.beam.sdk.io"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/beam/sdk/io/BlockBasedSource.html" target="_top">Frames</a></li>
<li><a href="BlockBasedSource.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 ======= -->
</body>
</html>