

<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
  <meta charset="utf-8">
  
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
  <title>apache_beam.io.iobase module &mdash; Apache Beam  documentation</title>
  

  
  
  
  

  
  <script type="text/javascript" src="_static/js/modernizr.min.js"></script>
  
    
      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
        <script type="text/javascript" src="_static/jquery.js"></script>
        <script type="text/javascript" src="_static/underscore.js"></script>
        <script type="text/javascript" src="_static/doctools.js"></script>
        <script type="text/javascript" src="_static/language_data.js"></script>
        <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
    
    <script type="text/javascript" src="_static/js/theme.js"></script>

    

  
  <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
  <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
    <link rel="next" title="apache_beam.io.jdbc module" href="apache_beam.io.jdbc.html" />
    <link rel="prev" title="apache_beam.io.hadoopfilesystem module" href="apache_beam.io.hadoopfilesystem.html" /> 
</head>

<body class="wy-body-for-nav">

   
  <div class="wy-grid-for-nav">
    
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >
          

          
            <a href="index.html" class="icon icon-home"> Apache Beam
          

          
          </a>

          
            
            
          

          
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>

          
        </div>

        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
          
            
            
              
            
            
              <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="apache_beam.coders.html">apache_beam.coders package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.dataframe.html">apache_beam.dataframe package</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="apache_beam.io.html">apache_beam.io package</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="apache_beam.io.html#subpackages">Subpackages</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="apache_beam.io.html#submodules">Submodules</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.avroio.html">apache_beam.io.avroio module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.concat_source.html">apache_beam.io.concat_source module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.debezium.html">apache_beam.io.debezium module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.filebasedsink.html">apache_beam.io.filebasedsink module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.filebasedsource.html">apache_beam.io.filebasedsource module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.fileio.html">apache_beam.io.fileio module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.filesystem.html">apache_beam.io.filesystem module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.filesystemio.html">apache_beam.io.filesystemio module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.filesystems.html">apache_beam.io.filesystems module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.hadoopfilesystem.html">apache_beam.io.hadoopfilesystem module</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">apache_beam.io.iobase module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.jdbc.html">apache_beam.io.jdbc module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.kafka.html">apache_beam.io.kafka module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.kinesis.html">apache_beam.io.kinesis module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.localfilesystem.html">apache_beam.io.localfilesystem module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.mongodbio.html">apache_beam.io.mongodbio module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.parquetio.html">apache_beam.io.parquetio module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.range_trackers.html">apache_beam.io.range_trackers module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.restriction_trackers.html">apache_beam.io.restriction_trackers module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.snowflake.html">apache_beam.io.snowflake module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.source_test_utils.html">apache_beam.io.source_test_utils module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.textio.html">apache_beam.io.textio module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.tfrecordio.html">apache_beam.io.tfrecordio module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.utils.html">apache_beam.io.utils module</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.watermark_estimators.html">apache_beam.io.watermark_estimators module</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.metrics.html">apache_beam.metrics package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.ml.html">apache_beam.ml package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.options.html">apache_beam.options package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.portability.html">apache_beam.portability package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.runners.html">apache_beam.runners package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.transforms.html">apache_beam.transforms package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.typehints.html">apache_beam.typehints package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.utils.html">apache_beam.utils package</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.error.html">apache_beam.error module</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.pipeline.html">apache_beam.pipeline module</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.pvalue.html">apache_beam.pvalue module</a></li>
</ul>

            
          
        </div>
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">

      
      <nav class="wy-nav-top" aria-label="top navigation">
        
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="index.html">Apache Beam</a>
        
      </nav>


      <div class="wy-nav-content">
        
        <div class="rst-content">
        
          















<div role="navigation" aria-label="breadcrumbs navigation">

  <ul class="wy-breadcrumbs">
    
      <li><a href="index.html">Docs</a> &raquo;</li>
        
          <li><a href="apache_beam.io.html">apache_beam.io package</a> &raquo;</li>
        
      <li>apache_beam.io.iobase module</li>
    
    
      <li class="wy-breadcrumbs-aside">
        
            
            <a href="_sources/apache_beam.io.iobase.rst.txt" rel="nofollow"> View page source</a>
          
        
      </li>
    
  </ul>

  
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
            
  <div class="section" id="module-apache_beam.io.iobase">
<span id="apache-beam-io-iobase-module"></span><h1>apache_beam.io.iobase module<a class="headerlink" href="#module-apache_beam.io.iobase" title="Permalink to this headline">¶</a></h1>
<p>Sources and sinks.</p>
<p>A Source manages record-oriented data input from a particular kind of source
(e.g. a set of files, a database table, etc.). The reader() method of a source
returns a reader object supporting the iterator protocol; iteration yields
raw records of unprocessed, serialized data.</p>
<p>A Sink manages record-oriented data output to a particular kind of sink
(e.g. a set of files, a database table, etc.). The writer() method of a sink
returns a writer object supporting writing records of serialized data to
the sink.</p>
<dl class="class">
<dt id="apache_beam.io.iobase.BoundedSource">
<em class="property">class </em><code class="descclassname">apache_beam.io.iobase.</code><code class="descname">BoundedSource</code><a class="reference internal" href="_modules/apache_beam/io/iobase.html#BoundedSource"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.BoundedSource" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">apache_beam.io.iobase.SourceBase</span></code></p>
<p>A source that reads a finite amount of input records.</p>
<p>This class defines following operations which can be used to read the source
efficiently.</p>
<ul class="simple">
<li>Size estimation - method <code class="docutils literal notranslate"><span class="pre">estimate_size()</span></code> may return an accurate
estimation in bytes for the size of the source.</li>
<li>Splitting into bundles of a given size - method <code class="docutils literal notranslate"><span class="pre">split()</span></code> can be used to
split the source into a set of sub-sources (bundles) based on a desired
bundle size.</li>
<li>Getting a RangeTracker - method <code class="docutils literal notranslate"><span class="pre">get_range_tracker()</span></code> should return a
<code class="docutils literal notranslate"><span class="pre">RangeTracker</span></code> object for a given position range for the position type
of the records returned by the source.</li>
<li>Reading the data - method <code class="docutils literal notranslate"><span class="pre">read()</span></code> can be used to read data from the
source while respecting the boundaries defined by a given
<code class="docutils literal notranslate"><span class="pre">RangeTracker</span></code>.</li>
</ul>
<p>A runner will perform reading the source in two steps.</p>
<ol class="arabic simple">
<li>Method <code class="docutils literal notranslate"><span class="pre">get_range_tracker()</span></code> will be invoked with start and end
positions to obtain a <code class="docutils literal notranslate"><span class="pre">RangeTracker</span></code> for the range of positions the
runner intends to read. Source must define a default initial start and end
position range. These positions must be used if the start and/or end
positions passed to the method <code class="docutils literal notranslate"><span class="pre">get_range_tracker()</span></code> are <code class="docutils literal notranslate"><span class="pre">None</span></code></li>
<li>Method read() will be invoked with the <code class="docutils literal notranslate"><span class="pre">RangeTracker</span></code> obtained in the
previous step.</li>
</ol>
<p><strong>Mutability</strong></p>
<p>A <code class="docutils literal notranslate"><span class="pre">BoundedSource</span></code> object should not be mutated while
its methods (for example, <code class="docutils literal notranslate"><span class="pre">read()</span></code>) are being invoked by a runner. Runner
implementations may invoke methods of <code class="docutils literal notranslate"><span class="pre">BoundedSource</span></code> objects through
multi-threaded and/or reentrant execution modes.</p>
<dl class="method">
<dt id="apache_beam.io.iobase.BoundedSource.estimate_size">
<code class="descname">estimate_size</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#BoundedSource.estimate_size"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.BoundedSource.estimate_size" title="Permalink to this definition">¶</a></dt>
<dd><p>Estimates the size of source in bytes.</p>
<p>An estimate of the total size (in bytes) of the data that would be read
from this source. This estimate is in terms of external storage size,
before performing decompression or other processing.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">estimated size of the source if the size can be determined, <code class="docutils literal notranslate"><span class="pre">None</span></code>
otherwise.</td>
</tr>
</tbody>
</table>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.BoundedSource.split">
<code class="descname">split</code><span class="sig-paren">(</span><em>desired_bundle_size</em>, <em>start_position=None</em>, <em>stop_position=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#BoundedSource.split"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.BoundedSource.split" title="Permalink to this definition">¶</a></dt>
<dd><p>Splits the source into a set of bundles.</p>
<p>Bundles should be approximately of size <code class="docutils literal notranslate"><span class="pre">desired_bundle_size</span></code> bytes.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>desired_bundle_size</strong> – the desired size (in bytes) of the bundles returned.</li>
<li><strong>start_position</strong> – if specified the given position must be used as the
starting position of the first bundle.</li>
<li><strong>stop_position</strong> – if specified the given position must be used as the ending
position of the last bundle.</li>
</ul>
</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">an iterator of objects of type ‘SourceBundle’ that gives information about
the generated bundles.</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.BoundedSource.get_range_tracker">
<code class="descname">get_range_tracker</code><span class="sig-paren">(</span><em>start_position</em>, <em>stop_position</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#BoundedSource.get_range_tracker"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.BoundedSource.get_range_tracker" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns a RangeTracker for a given position range.</p>
<p>Framework may invoke <code class="docutils literal notranslate"><span class="pre">read()</span></code> method with the RangeTracker object returned
here to read data from the source.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>start_position</strong> – starting position of the range. If ‘None’ default start
position of the source must be used.</li>
<li><strong>stop_position</strong> – ending position of the range. If ‘None’ default stop
position of the source must be used.</li>
</ul>
</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">a <code class="docutils literal notranslate"><span class="pre">RangeTracker</span></code> for the given position range.</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.BoundedSource.read">
<code class="descname">read</code><span class="sig-paren">(</span><em>range_tracker</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#BoundedSource.read"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.BoundedSource.read" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns an iterator that reads data from the source.</p>
<p>The returned set of data must respect the boundaries defined by the given
<code class="docutils literal notranslate"><span class="pre">RangeTracker</span></code> object. For example:</p>
<blockquote>
<div><ul class="simple">
<li>Returned set of data must be for the range
<code class="docutils literal notranslate"><span class="pre">[range_tracker.start_position,</span> <span class="pre">range_tracker.stop_position)</span></code>. Note
that a source may decide to return records that start after
<code class="docutils literal notranslate"><span class="pre">range_tracker.stop_position</span></code>. See documentation in class
<code class="docutils literal notranslate"><span class="pre">RangeTracker</span></code> for more details. Also, note that framework might
invoke <code class="docutils literal notranslate"><span class="pre">range_tracker.try_split()</span></code> to perform dynamic split
operations. range_tracker.stop_position may be updated
dynamically due to successful dynamic split operations.</li>
<li>Method <code class="docutils literal notranslate"><span class="pre">range_tracker.try_split()</span></code> must be invoked for every record
that starts at a split point.</li>
<li>Method <code class="docutils literal notranslate"><span class="pre">range_tracker.record_current_position()</span></code> may be invoked for
records that do not start at split points.</li>
</ul>
</div></blockquote>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>range_tracker</strong> – a <code class="docutils literal notranslate"><span class="pre">RangeTracker</span></code> whose boundaries must be respected
when reading data from the source. A runner that reads this
source muss pass a <code class="docutils literal notranslate"><span class="pre">RangeTracker</span></code> object that is not
<code class="docutils literal notranslate"><span class="pre">None</span></code>.</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">an iterator of data read by the source.</td>
</tr>
</tbody>
</table>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.BoundedSource.default_output_coder">
<code class="descname">default_output_coder</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#BoundedSource.default_output_coder"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.BoundedSource.default_output_coder" title="Permalink to this definition">¶</a></dt>
<dd><p>Coder that should be used for the records returned by the source.</p>
<p>Should be overridden by sources that produce objects that can be encoded
more efficiently than pickling.</p>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.BoundedSource.is_bounded">
<code class="descname">is_bounded</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#BoundedSource.is_bounded"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.BoundedSource.is_bounded" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

</dd></dl>

<dl class="class">
<dt id="apache_beam.io.iobase.RangeTracker">
<em class="property">class </em><code class="descclassname">apache_beam.io.iobase.</code><code class="descname">RangeTracker</code><a class="reference internal" href="_modules/apache_beam/io/iobase.html#RangeTracker"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.RangeTracker" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.10)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>A thread safe object used by Dataflow source framework.</p>
<p>A Dataflow source is defined using a ‘’BoundedSource’’ and a ‘’RangeTracker’’
pair. A ‘’RangeTracker’’ is used by Dataflow source framework to perform
dynamic work rebalancing of position-based sources.</p>
<p><strong>Position-based sources</strong></p>
<p>A position-based source is one where the source can be described by a range
of positions of an ordered type and the records returned by the reader can be
described by positions of the same type.</p>
<p>In case a record occupies a range of positions in the source, the most
important thing about the record is the position where it starts.</p>
<p>Defining the semantics of positions for a source is entirely up to the source
class, however the chosen definitions have to obey certain properties in order
to make it possible to correctly split the source into parts, including
dynamic splitting. Two main aspects need to be defined:</p>
<ol class="arabic simple">
<li>How to assign starting positions to records.</li>
<li>Which records should be read by a source with a range ‘[A, B)’.</li>
</ol>
<p>Moreover, reading a range must be <em>efficient</em>, i.e., the performance of
reading a range should not significantly depend on the location of the range.
For example, reading the range [A, B) should not require reading all data
before ‘A’.</p>
<p>The sections below explain exactly what properties these definitions must
satisfy, and how to use a <code class="docutils literal notranslate"><span class="pre">RangeTracker</span></code> with a properly defined source.</p>
<p><strong>Properties of position-based sources</strong></p>
<p>The main requirement for position-based sources is <em>associativity</em>: reading
records from ‘[A, B)’ and records from ‘[B, C)’ should give the same
records as reading from ‘[A, C)’, where ‘A &lt;= B &lt;= C’. This property
ensures that no matter how a range of positions is split into arbitrarily many
sub-ranges, the total set of records described by them stays the same.</p>
<p>The other important property is how the source’s range relates to positions of
records in the source. In many sources each record can be identified by a
unique starting position. In this case:</p>
<ul class="simple">
<li>All records returned by a source ‘[A, B)’ must have starting positions in
this range.</li>
<li>All but the last record should end within this range. The last record may or
may not extend past the end of the range.</li>
<li>Records should not overlap.</li>
</ul>
<p>Such sources should define “read ‘[A, B)’” as “read from the first record
starting at or after ‘A’, up to but not including the first record starting
at or after ‘B’”.</p>
<p>Some examples of such sources include reading lines or CSV from a text file,
reading keys and values from a BigTable, etc.</p>
<p>The concept of <em>split points</em> allows to extend the definitions for dealing
with sources where some records cannot be identified by a unique starting
position.</p>
<p>In all cases, all records returned by a source ‘[A, B)’ must <em>start</em> at or
after ‘A’.</p>
<p><strong>Split points</strong></p>
<p>Some sources may have records that are not directly addressable. For example,
imagine a file format consisting of a sequence of compressed blocks. Each
block can be assigned an offset, but records within the block cannot be
directly addressed without decompressing the block. Let us refer to this
hypothetical format as &lt;i&gt;CBF (Compressed Blocks Format)&lt;/i&gt;.</p>
<p>Many such formats can still satisfy the associativity property. For example,
in CBF, reading ‘[A, B)’ can mean “read all the records in all blocks whose
starting offset is in ‘[A, B)’”.</p>
<p>To support such complex formats, we introduce the notion of <em>split points</em>. We
say that a record is a split point if there exists a position ‘A’ such that
the record is the first one to be returned when reading the range
‘[A, infinity)’. In CBF, the only split points would be the first records
in each block.</p>
<p>Split points allow us to define the meaning of a record’s position and a
source’s range in all cases:</p>
<ul class="simple">
<li>For a record that is at a split point, its position is defined to be the
largest ‘A’ such that reading a source with the range ‘[A, infinity)’
returns this record.</li>
<li>Positions of other records are only required to be non-decreasing.</li>
<li>Reading the source ‘[A, B)’ must return records starting from the first
split point at or after ‘A’, up to but not including the first split point
at or after ‘B’. In particular, this means that the first record returned
by a source MUST always be a split point.</li>
<li>Positions of split points must be unique.</li>
</ul>
<p>As a result, for any decomposition of the full range of the source into
position ranges, the total set of records will be the full set of records in
the source, and each record will be read exactly once.</p>
<p><strong>Consumed positions</strong></p>
<p>As the source is being read, and records read from it are being passed to the
downstream transforms in the pipeline, we say that positions in the source are
being <em>consumed</em>. When a reader has read a record (or promised to a caller
that a record will be returned), positions up to and including the record’s
start position are considered <em>consumed</em>.</p>
<p>Dynamic splitting can happen only at <em>unconsumed</em> positions. If the reader
just returned a record at offset 42 in a file, dynamic splitting can happen
only at offset 43 or beyond, as otherwise that record could be read twice (by
the current reader and by a reader of the task starting at 43).</p>
<dl class="attribute">
<dt id="apache_beam.io.iobase.RangeTracker.SPLIT_POINTS_UNKNOWN">
<code class="descname">SPLIT_POINTS_UNKNOWN</code><em class="property"> = &lt;object object&gt;</em><a class="headerlink" href="#apache_beam.io.iobase.RangeTracker.SPLIT_POINTS_UNKNOWN" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.RangeTracker.start_position">
<code class="descname">start_position</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#RangeTracker.start_position"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.RangeTracker.start_position" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the starting position of the current range, inclusive.</p>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.RangeTracker.stop_position">
<code class="descname">stop_position</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#RangeTracker.stop_position"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.RangeTracker.stop_position" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the ending position of the current range, exclusive.</p>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.RangeTracker.try_claim">
<code class="descname">try_claim</code><span class="sig-paren">(</span><em>position</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#RangeTracker.try_claim"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.RangeTracker.try_claim" title="Permalink to this definition">¶</a></dt>
<dd><p>Atomically determines if a record at a split point is within the range.</p>
<p>This method should be called <strong>if and only if</strong> the record is at a split
point. This method may modify the internal state of the <code class="docutils literal notranslate"><span class="pre">RangeTracker</span></code> by
updating the last-consumed position to <code class="docutils literal notranslate"><span class="pre">position</span></code>.</p>
<p>** Thread safety **</p>
<p>Methods of the class <code class="docutils literal notranslate"><span class="pre">RangeTracker</span></code> including this method may get invoked
by different threads, hence must be made thread-safe, e.g. by using a single
lock object.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>position</strong> – starting position of a record being read by a source.</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><code class="docutils literal notranslate"><span class="pre">True</span></code>, if the given position falls within the current range, returns
<code class="docutils literal notranslate"><span class="pre">False</span></code> otherwise.</td>
</tr>
</tbody>
</table>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.RangeTracker.set_current_position">
<code class="descname">set_current_position</code><span class="sig-paren">(</span><em>position</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#RangeTracker.set_current_position"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.RangeTracker.set_current_position" title="Permalink to this definition">¶</a></dt>
<dd><p>Updates the last-consumed position to the given position.</p>
<p>A source may invoke this method for records that do not start at split
points. This may modify the internal state of the <code class="docutils literal notranslate"><span class="pre">RangeTracker</span></code>. If the
record starts at a split point, method <code class="docutils literal notranslate"><span class="pre">try_claim()</span></code> <strong>must</strong> be invoked
instead of this method.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>position</strong> – starting position of a record being read by a source.</td>
</tr>
</tbody>
</table>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.RangeTracker.position_at_fraction">
<code class="descname">position_at_fraction</code><span class="sig-paren">(</span><em>fraction</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#RangeTracker.position_at_fraction"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.RangeTracker.position_at_fraction" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the position at the given fraction.</p>
<p>Given a fraction within the range [0.0, 1.0) this method will return the
position at the given fraction compared to the position range
[self.start_position, self.stop_position).</p>
<p>** Thread safety **</p>
<p>Methods of the class <code class="docutils literal notranslate"><span class="pre">RangeTracker</span></code> including this method may get invoked
by different threads, hence must be made thread-safe, e.g. by using a single
lock object.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>fraction</strong> – a float value within the range [0.0, 1.0).</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">a position within the range [self.start_position, self.stop_position).</td>
</tr>
</tbody>
</table>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.RangeTracker.try_split">
<code class="descname">try_split</code><span class="sig-paren">(</span><em>position</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#RangeTracker.try_split"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.RangeTracker.try_split" title="Permalink to this definition">¶</a></dt>
<dd><p>Atomically splits the current range.</p>
<p>Determines a position to split the current range, split_position, based on
the given position. In most cases split_position and position will be the
same.</p>
<p>Splits the current range ‘[self.start_position, self.stop_position)’
into a “primary” part ‘[self.start_position, split_position)’ and a
“residual” part ‘[split_position, self.stop_position)’, assuming the
current last-consumed position is within
‘[self.start_position, split_position)’ (i.e., split_position has not been
consumed yet).</p>
<p>If successful, updates the current range to be the primary and returns a
tuple (split_position, split_fraction). split_fraction should be the
fraction of size of range ‘[self.start_position, split_position)’ compared
to the original (before split) range
‘[self.start_position, self.stop_position)’.</p>
<p>If the split_position has already been consumed, returns <code class="docutils literal notranslate"><span class="pre">None</span></code>.</p>
<p>** Thread safety **</p>
<p>Methods of the class <code class="docutils literal notranslate"><span class="pre">RangeTracker</span></code> including this method may get invoked
by different threads, hence must be made thread-safe, e.g. by using a single
lock object.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>position</strong> – suggested position where the current range should try to
be split at.</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">a tuple containing the split position and split fraction if split is
successful. Returns <code class="docutils literal notranslate"><span class="pre">None</span></code> otherwise.</td>
</tr>
</tbody>
</table>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.RangeTracker.fraction_consumed">
<code class="descname">fraction_consumed</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#RangeTracker.fraction_consumed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.RangeTracker.fraction_consumed" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the approximate fraction of consumed positions in the source.</p>
<p>** Thread safety **</p>
<p>Methods of the class <code class="docutils literal notranslate"><span class="pre">RangeTracker</span></code> including this method may get invoked
by different threads, hence must be made thread-safe, e.g. by using a single
lock object.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">the approximate fraction of positions that have been consumed by
successful ‘try_split()’ and  ‘try_claim()’  calls, or
0.0 if no such calls have happened.</td>
</tr>
</tbody>
</table>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.RangeTracker.split_points">
<code class="descname">split_points</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#RangeTracker.split_points"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.RangeTracker.split_points" title="Permalink to this definition">¶</a></dt>
<dd><p>Gives the number of split points consumed and remaining.</p>
<p>For a <code class="docutils literal notranslate"><span class="pre">RangeTracker</span></code> used by a <code class="docutils literal notranslate"><span class="pre">BoundedSource</span></code> (within a
<code class="docutils literal notranslate"><span class="pre">BoundedSource.read()</span></code> invocation) this method produces a 2-tuple that
gives the number of split points consumed by the <code class="docutils literal notranslate"><span class="pre">BoundedSource</span></code> and the
number of split points remaining within the range of the <code class="docutils literal notranslate"><span class="pre">RangeTracker</span></code>
that has not been consumed by the <code class="docutils literal notranslate"><span class="pre">BoundedSource</span></code>.</p>
<p>More specifically, given that the position of the current record being read
by <code class="docutils literal notranslate"><span class="pre">BoundedSource</span></code> is current_position this method produces a tuple that
consists of
(1) number of split points in the range [self.start_position(),
current_position) without including the split point that is currently being
consumed. This represents the total amount of parallelism in the consumed
part of the source.
(2) number of split points within the range
[current_position, self.stop_position()) including the split point that is
currently being consumed. This represents the total amount of parallelism in
the unconsumed part of the source.</p>
<p>Methods of the class <code class="docutils literal notranslate"><span class="pre">RangeTracker</span></code> including this method may get invoked
by different threads, hence must be made thread-safe, e.g. by using a single
lock object.</p>
<dl class="docutils">
<dt>** General information about consumed and remaining number of split</dt>
<dd><blockquote class="first">
<div>points returned by this method. **</div></blockquote>
<ul class="last simple">
<li>Before a source read (<code class="docutils literal notranslate"><span class="pre">BoundedSource.read()</span></code> invocation) claims the
first split point, number of consumed split points is 0. This condition
holds independent of whether the input is “splittable”. A splittable
source is a source that has more than one split point.</li>
<li>Any source read that has only claimed one split point has 0 consumed
split points since the first split point is the current split point and
is still being processed. This condition holds independent of whether
the input is splittable.</li>
<li>For an empty source read which never invokes
<code class="docutils literal notranslate"><span class="pre">RangeTracker.try_claim()</span></code>, the consumed number of split points is 0.
This condition holds independent of whether the input is splittable.</li>
<li>For a source read which has invoked <code class="docutils literal notranslate"><span class="pre">RangeTracker.try_claim()</span></code> n
times, the consumed number of split points is  n -1.</li>
<li>If a <code class="docutils literal notranslate"><span class="pre">BoundedSource</span></code> sets a callback through function
<code class="docutils literal notranslate"><span class="pre">set_split_points_unclaimed_callback()</span></code>, <code class="docutils literal notranslate"><span class="pre">RangeTracker</span></code> can use that
callback when determining remaining number of split points.</li>
<li>Remaining split points should include the split point that is currently
being consumed by the source read. Hence if the above callback returns
an integer value n, remaining number of split points should be (n + 1).</li>
<li>After last split point is claimed remaining split points becomes 1,
because this unfinished read itself represents an  unfinished split
point.</li>
<li>After all records of the source has been consumed, remaining number of
split points becomes 0 and consumed number of split points becomes equal
to the total number of split points within the range being read by the
source. This method does not address this condition and will continue to
report number of consumed split points as
(“total number of split points” - 1) and number of remaining split
points as 1. A runner that performs the reading of the source can
detect when all records have been consumed and adjust remaining and
consumed number of split points accordingly.</li>
</ul>
</dd>
</dl>
<p>** Examples **</p>
<ol class="arabic">
<li><p class="first">A “perfectly splittable” input which can be read in parallel down to the
individual records.</p>
<p>Consider a perfectly splittable input that consists of 50 split points.</p>
</li>
</ol>
<blockquote>
<div><ul class="simple">
<li>Before a source read (<code class="docutils literal notranslate"><span class="pre">BoundedSource.read()</span></code> invocation) claims the
first split point, number of consumed split points is 0 number of
remaining split points is 50.</li>
<li>After claiming first split point, consumed number of split points is 0
and remaining number of split is 50.</li>
<li>After claiming split point #30, consumed number of split points is 29
and remaining number of split points is 21.</li>
<li>After claiming all 50 split points, consumed number of split points is
49 and remaining number of split points is 1.</li>
</ul>
</div></blockquote>
<ol class="arabic" start="2">
<li><p class="first">a “block-compressed” file format such as <code class="docutils literal notranslate"><span class="pre">avroio</span></code>, in which a block of
records has to be read as a whole, but different blocks can be read in
parallel.</p>
<p>Consider a block compressed input that consists of 5 blocks.</p>
</li>
</ol>
<blockquote>
<div><ul class="simple">
<li>Before a source read (<code class="docutils literal notranslate"><span class="pre">BoundedSource.read()</span></code> invocation) claims the
first split point (first block), number of consumed split points is 0
number of remaining split points is 5.</li>
<li>After claiming first split point, consumed number of split points is 0
and remaining number of split is 5.</li>
<li>After claiming split point #3, consumed number of split points is 2
and remaining number of split points is 3.</li>
<li>After claiming all 5 split points, consumed number of split points is
4 and remaining number of split points is 1.</li>
</ul>
</div></blockquote>
<ol class="arabic" start="3">
<li><p class="first">an “unsplittable” input such as a cursor in a database or a gzip
compressed file.</p>
<p>Such an input is considered to have only a single split point. Number of
consumed split points is always 0 and number of remaining split points
is always 1.</p>
</li>
</ol>
<p>By default <code class="docutils literal notranslate"><span class="pre">RangeTracker`</span> <span class="pre">returns</span> <span class="pre">``RangeTracker.SPLIT_POINTS_UNKNOWN</span></code> for
both consumed and remaining number of split points, which indicates that the
number of split points consumed and remaining is unknown.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">A pair that gives consumed and remaining number of split points. Consumed
number of split points should be an integer larger than or equal to zero
or <code class="docutils literal notranslate"><span class="pre">RangeTracker.SPLIT_POINTS_UNKNOWN</span></code>. Remaining number of split points
should be an integer larger than zero or
<code class="docutils literal notranslate"><span class="pre">RangeTracker.SPLIT_POINTS_UNKNOWN</span></code>.</td>
</tr>
</tbody>
</table>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.RangeTracker.set_split_points_unclaimed_callback">
<code class="descname">set_split_points_unclaimed_callback</code><span class="sig-paren">(</span><em>callback</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#RangeTracker.set_split_points_unclaimed_callback"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.RangeTracker.set_split_points_unclaimed_callback" title="Permalink to this definition">¶</a></dt>
<dd><p>Sets a callback for determining the unclaimed number of split points.</p>
<p>By invoking this function, a <code class="docutils literal notranslate"><span class="pre">BoundedSource</span></code> can set a callback function
that may get invoked by the <code class="docutils literal notranslate"><span class="pre">RangeTracker</span></code> to determine the number of
unclaimed split points. A split point is unclaimed if
<code class="docutils literal notranslate"><span class="pre">RangeTracker.try_claim()</span></code> method has not been successfully invoked for
that particular split point. The callback function accepts a single
parameter, a stop position for the BoundedSource (stop_position). If the
record currently being consumed by the <code class="docutils literal notranslate"><span class="pre">BoundedSource</span></code> is at position
current_position, callback should return the number of split points within
the range (current_position, stop_position). Note that, this should not
include the split point that is currently being consumed by the source.</p>
<p>This function must be implemented by subclasses before being used.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>callback</strong> – a function that takes a single parameter, a stop position,
and returns unclaimed number of split points for the source read
operation that is calling this function. Value returned from
callback should be either an integer larger than or equal to
zero or <code class="docutils literal notranslate"><span class="pre">RangeTracker.SPLIT_POINTS_UNKNOWN</span></code>.</td>
</tr>
</tbody>
</table>
</dd></dl>

</dd></dl>

<dl class="class">
<dt id="apache_beam.io.iobase.Sink">
<em class="property">class </em><code class="descclassname">apache_beam.io.iobase.</code><code class="descname">Sink</code><a class="reference internal" href="_modules/apache_beam/io/iobase.html#Sink"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.Sink" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <a class="reference internal" href="apache_beam.transforms.display.html#apache_beam.transforms.display.HasDisplayData" title="apache_beam.transforms.display.HasDisplayData"><code class="xref py py-class docutils literal notranslate"><span class="pre">apache_beam.transforms.display.HasDisplayData</span></code></a></p>
<p>This class is deprecated, no backwards-compatibility guarantees.</p>
<p>A resource that can be written to using the <code class="docutils literal notranslate"><span class="pre">beam.io.Write</span></code> transform.</p>
<p>Here <code class="docutils literal notranslate"><span class="pre">beam</span></code> stands for Apache Beam Python code imported in following manner.
<code class="docutils literal notranslate"><span class="pre">import</span> <span class="pre">apache_beam</span> <span class="pre">as</span> <span class="pre">beam</span></code>.</p>
<p>A parallel write to an <code class="docutils literal notranslate"><span class="pre">iobase.Sink</span></code> consists of three phases:</p>
<ol class="arabic simple">
<li>A sequential <em>initialization</em> phase (e.g., creating a temporary output
directory, etc.)</li>
<li>A parallel write phase where workers write <em>bundles</em> of records</li>
<li>A sequential <em>finalization</em> phase (e.g., committing the writes, merging
output files, etc.)</li>
</ol>
<p>Implementing a new sink requires extending two classes.</p>
<ol class="arabic simple">
<li>iobase.Sink</li>
</ol>
<p><code class="docutils literal notranslate"><span class="pre">iobase.Sink</span></code> is an immutable logical description of the location/resource
to write to. Depending on the type of sink, it may contain fields such as the
path to an output directory on a filesystem, a database table name,
etc. <code class="docutils literal notranslate"><span class="pre">iobase.Sink</span></code> provides methods for performing a write operation to the
sink described by it. To this end, implementors of an extension of
<code class="docutils literal notranslate"><span class="pre">iobase.Sink</span></code> must implement three methods:
<code class="docutils literal notranslate"><span class="pre">initialize_write()</span></code>, <code class="docutils literal notranslate"><span class="pre">open_writer()</span></code>, and <code class="docutils literal notranslate"><span class="pre">finalize_write()</span></code>.</p>
<ol class="arabic simple" start="2">
<li>iobase.Writer</li>
</ol>
<p><code class="docutils literal notranslate"><span class="pre">iobase.Writer</span></code> is used to write a single bundle of records. An
<code class="docutils literal notranslate"><span class="pre">iobase.Writer</span></code> defines two methods: <code class="docutils literal notranslate"><span class="pre">write()</span></code> which writes a
single record from the bundle and <code class="docutils literal notranslate"><span class="pre">close()</span></code> which is called once
at the end of writing a bundle.</p>
<p>See also <code class="docutils literal notranslate"><span class="pre">apache_beam.io.filebasedsink.FileBasedSink</span></code> which provides a
simpler API for writing sinks that produce files.</p>
<p><strong>Execution of the Write transform</strong></p>
<p><code class="docutils literal notranslate"><span class="pre">initialize_write()</span></code>, <code class="docutils literal notranslate"><span class="pre">pre_finalize()</span></code>, and <code class="docutils literal notranslate"><span class="pre">finalize_write()</span></code> are
conceptually called once. However, implementors must
ensure that these methods are <em>idempotent</em>, as they may be called multiple
times on different machines in the case of failure/retry. A method may be
called more than once concurrently, in which case it’s okay to have a
transient failure (such as due to a race condition). This failure should not
prevent subsequent retries from succeeding.</p>
<p><code class="docutils literal notranslate"><span class="pre">initialize_write()</span></code> should perform any initialization that needs to be done
prior to writing to the sink. <code class="docutils literal notranslate"><span class="pre">initialize_write()</span></code> may return a result
(let’s call this <code class="docutils literal notranslate"><span class="pre">init_result</span></code>) that contains any parameters it wants to
pass on to its writers about the sink. For example, a sink that writes to a
file system may return an <code class="docutils literal notranslate"><span class="pre">init_result</span></code> that contains a dynamically
generated unique directory to which data should be written.</p>
<p>To perform writing of a bundle of elements, Dataflow execution engine will
create an <code class="docutils literal notranslate"><span class="pre">iobase.Writer</span></code> using the implementation of
<code class="docutils literal notranslate"><span class="pre">iobase.Sink.open_writer()</span></code>. When invoking <code class="docutils literal notranslate"><span class="pre">open_writer()</span></code> execution
engine will provide the <code class="docutils literal notranslate"><span class="pre">init_result</span></code> returned by <code class="docutils literal notranslate"><span class="pre">initialize_write()</span></code>
invocation as well as a <em>bundle id</em> (let’s call this <code class="docutils literal notranslate"><span class="pre">bundle_id</span></code>) that is
unique for each invocation of <code class="docutils literal notranslate"><span class="pre">open_writer()</span></code>.</p>
<p>Execution engine will then invoke <code class="docutils literal notranslate"><span class="pre">iobase.Writer.write()</span></code> implementation for
each element that has to be written. Once all elements of a bundle are
written, execution engine will invoke <code class="docutils literal notranslate"><span class="pre">iobase.Writer.close()</span></code> implementation
which should return a result (let’s call this <code class="docutils literal notranslate"><span class="pre">write_result</span></code>) that contains
information that encodes the result of the write and, in most cases, some
encoding of the unique bundle id. For example, if each bundle is written to a
unique temporary file, <code class="docutils literal notranslate"><span class="pre">close()</span></code> method may return an object that contains
the temporary file name. After writing of all bundles is complete, execution
engine will invoke <code class="docutils literal notranslate"><span class="pre">pre_finalize()</span></code> and then <code class="docutils literal notranslate"><span class="pre">finalize_write()</span></code>
implementation.</p>
<p>The execution of a write transform can be illustrated using following pseudo
code (assume that the outer for loop happens in parallel across many
machines):</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">init_result</span> <span class="o">=</span> <span class="n">sink</span><span class="o">.</span><span class="n">initialize_write</span><span class="p">()</span>
<span class="n">write_results</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">for</span> <span class="n">bundle</span> <span class="ow">in</span> <span class="n">partition</span><span class="p">(</span><span class="n">pcoll</span><span class="p">):</span>
  <span class="n">writer</span> <span class="o">=</span> <span class="n">sink</span><span class="o">.</span><span class="n">open_writer</span><span class="p">(</span><span class="n">init_result</span><span class="p">,</span> <span class="n">generate_bundle_id</span><span class="p">())</span>
  <span class="k">for</span> <span class="n">elem</span> <span class="ow">in</span> <span class="n">bundle</span><span class="p">:</span>
    <span class="n">writer</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">elem</span><span class="p">)</span>
  <span class="n">write_results</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">writer</span><span class="o">.</span><span class="n">close</span><span class="p">())</span>
<span class="n">pre_finalize_result</span> <span class="o">=</span> <span class="n">sink</span><span class="o">.</span><span class="n">pre_finalize</span><span class="p">(</span><span class="n">init_result</span><span class="p">,</span> <span class="n">write_results</span><span class="p">)</span>
<span class="n">sink</span><span class="o">.</span><span class="n">finalize_write</span><span class="p">(</span><span class="n">init_result</span><span class="p">,</span> <span class="n">write_results</span><span class="p">,</span> <span class="n">pre_finalize_result</span><span class="p">)</span>
</pre></div>
</div>
<p><strong>init_result</strong></p>
<p>Methods of ‘iobase.Sink’ should agree on the ‘init_result’ type that will be
returned when initializing the sink. This type can be a client-defined object
or an existing type. The returned type must be picklable using Dataflow coder
<code class="docutils literal notranslate"><span class="pre">coders.PickleCoder</span></code>. Returning an init_result is optional.</p>
<p><strong>bundle_id</strong></p>
<p>In order to ensure fault-tolerance, a bundle may be executed multiple times
(e.g., in the event of failure/retry or for redundancy). However, exactly one
of these executions will have its result passed to the
<code class="docutils literal notranslate"><span class="pre">iobase.Sink.finalize_write()</span></code> method. Each call to
<code class="docutils literal notranslate"><span class="pre">iobase.Sink.open_writer()</span></code> is passed a unique bundle id when it is called
by the <code class="docutils literal notranslate"><span class="pre">WriteImpl</span></code> transform, so even redundant or retried bundles will have
a unique way of identifying their output.</p>
<p>The bundle id should be used to guarantee that a bundle’s output is unique.
This uniqueness guarantee is important; if a bundle is to be output to a file,
for example, the name of the file must be unique to avoid conflicts with other
writers. The bundle id should be encoded in the writer result returned by the
writer and subsequently used by the <code class="docutils literal notranslate"><span class="pre">finalize_write()</span></code> method to identify
the results of successful writes.</p>
<p>For example, consider the scenario where a Writer writes files containing
serialized records and the <code class="docutils literal notranslate"><span class="pre">finalize_write()</span></code> is to merge or rename these
output files. In this case, a writer may use its unique id to name its output
file (to avoid conflicts) and return the name of the file it wrote as its
writer result. The <code class="docutils literal notranslate"><span class="pre">finalize_write()</span></code> will then receive an <code class="docutils literal notranslate"><span class="pre">Iterable</span></code> of
output file names that it can then merge or rename using some bundle naming
scheme.</p>
<p><strong>write_result</strong></p>
<p><code class="docutils literal notranslate"><span class="pre">iobase.Writer.close()</span></code> and <code class="docutils literal notranslate"><span class="pre">finalize_write()</span></code> implementations must agree
on type of the <code class="docutils literal notranslate"><span class="pre">write_result</span></code> object returned when invoking
<code class="docutils literal notranslate"><span class="pre">iobase.Writer.close()</span></code>. This type can be a client-defined object or
an existing type. The returned type must be picklable using Dataflow coder
<code class="docutils literal notranslate"><span class="pre">coders.PickleCoder</span></code>. Returning a <code class="docutils literal notranslate"><span class="pre">write_result</span></code> when
<code class="docutils literal notranslate"><span class="pre">iobase.Writer.close()</span></code> is invoked is optional but if unique
<code class="docutils literal notranslate"><span class="pre">write_result</span></code> objects are not returned, sink should, guarantee idempotency
when same bundle is written multiple times due to failure/retry or redundancy.</p>
<p><strong>More information</strong></p>
<p>For more information on creating new sinks please refer to the official
documentation at
<code class="docutils literal notranslate"><span class="pre">https://beam.apache.org/documentation/sdks/python-custom-io#creating-sinks</span></code></p>
<dl class="method">
<dt id="apache_beam.io.iobase.Sink.initialize_write">
<code class="descname">initialize_write</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#Sink.initialize_write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.Sink.initialize_write" title="Permalink to this definition">¶</a></dt>
<dd><p>Initializes the sink before writing begins.</p>
<p>Invoked before any data is written to the sink.</p>
<p>Please see documentation in <code class="docutils literal notranslate"><span class="pre">iobase.Sink</span></code> for an example.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">An object that contains any sink specific state generated by
initialization. This object will be passed to open_writer() and
finalize_write() methods.</td>
</tr>
</tbody>
</table>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.Sink.open_writer">
<code class="descname">open_writer</code><span class="sig-paren">(</span><em>init_result</em>, <em>uid</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#Sink.open_writer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.Sink.open_writer" title="Permalink to this definition">¶</a></dt>
<dd><p>Opens a writer for writing a bundle of elements to the sink.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>init_result</strong> – the result of initialize_write() invocation.</li>
<li><strong>uid</strong> – a unique identifier generated by the system.</li>
</ul>
</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">an <code class="docutils literal notranslate"><span class="pre">iobase.Writer</span></code> that can be used to write a bundle of records to the
current sink.</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.Sink.pre_finalize">
<code class="descname">pre_finalize</code><span class="sig-paren">(</span><em>init_result</em>, <em>writer_results</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#Sink.pre_finalize"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.Sink.pre_finalize" title="Permalink to this definition">¶</a></dt>
<dd><p>Pre-finalization stage for sink.</p>
<p>Called after all bundle writes are complete and before finalize_write.
Used to setup and verify filesystem and sink states.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>init_result</strong> – the result of <code class="docutils literal notranslate"><span class="pre">initialize_write()</span></code> invocation.</li>
<li><strong>writer_results</strong> – an iterable containing results of <code class="docutils literal notranslate"><span class="pre">Writer.close()</span></code>
invocations. This will only contain results of successful writes, and
will only contain the result of a single successful write for a given
bundle.</li>
</ul>
</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">An object that contains any sink specific state generated.
This object will be passed to finalize_write().</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.Sink.finalize_write">
<code class="descname">finalize_write</code><span class="sig-paren">(</span><em>init_result</em>, <em>writer_results</em>, <em>pre_finalize_result</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#Sink.finalize_write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.Sink.finalize_write" title="Permalink to this definition">¶</a></dt>
<dd><p>Finalizes the sink after all data is written to it.</p>
<p>Given the result of initialization and an iterable of results from bundle
writes, performs finalization after writing and closes the sink. Called
after all bundle writes are complete.</p>
<p>The bundle write results that are passed to finalize are those returned by
bundles that completed successfully. Although bundles may have been run
multiple times (for fault-tolerance), only one writer result will be passed
to finalize for each bundle. An implementation of finalize should perform
clean up of any failed and successfully retried bundles.  Note that these
failed bundles will not have their writer result passed to finalize, so
finalize should be capable of locating any temporary/partial output written
by failed bundles.</p>
<p>If all retries of a bundle fails, the whole pipeline will fail <em>without</em>
finalize_write() being invoked.</p>
<p>A best practice is to make finalize atomic. If this is impossible given the
semantics of the sink, finalize should be idempotent, as it may be called
multiple times in the case of failure/retry or for redundancy.</p>
<p>Note that the iteration order of the writer results is not guaranteed to be
consistent if finalize is called multiple times.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>init_result</strong> – the result of <code class="docutils literal notranslate"><span class="pre">initialize_write()</span></code> invocation.</li>
<li><strong>writer_results</strong> – an iterable containing results of <code class="docutils literal notranslate"><span class="pre">Writer.close()</span></code>
invocations. This will only contain results of successful writes, and
will only contain the result of a single successful write for a given
bundle.</li>
<li><strong>pre_finalize_result</strong> – the result of <code class="docutils literal notranslate"><span class="pre">pre_finalize()</span></code> invocation.</li>
</ul>
</td>
</tr>
</tbody>
</table>
</dd></dl>

</dd></dl>

<dl class="class">
<dt id="apache_beam.io.iobase.Writer">
<em class="property">class </em><code class="descclassname">apache_beam.io.iobase.</code><code class="descname">Writer</code><a class="reference internal" href="_modules/apache_beam/io/iobase.html#Writer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.Writer" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.10)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>This class is deprecated, no backwards-compatibility guarantees.</p>
<p>Writes a bundle of elements from a <code class="docutils literal notranslate"><span class="pre">PCollection</span></code> to a sink.</p>
<p>A Writer  <code class="docutils literal notranslate"><span class="pre">iobase.Writer.write()</span></code> writes and elements to the sink while
<code class="docutils literal notranslate"><span class="pre">iobase.Writer.close()</span></code> is called after all elements in the bundle have been
written.</p>
<p>See <code class="docutils literal notranslate"><span class="pre">iobase.Sink</span></code> for more detailed documentation about the process of
writing to a sink.</p>
<dl class="method">
<dt id="apache_beam.io.iobase.Writer.write">
<code class="descname">write</code><span class="sig-paren">(</span><em>value</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#Writer.write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.Writer.write" title="Permalink to this definition">¶</a></dt>
<dd><p>Writes a value to the sink using the current writer.</p>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.Writer.close">
<code class="descname">close</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#Writer.close"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.Writer.close" title="Permalink to this definition">¶</a></dt>
<dd><p>Closes the current writer.</p>
<p>Please see documentation in <code class="docutils literal notranslate"><span class="pre">iobase.Sink</span></code> for an example.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">An object representing the writes that were performed by the current
writer.</td>
</tr>
</tbody>
</table>
</dd></dl>

</dd></dl>

<dl class="class">
<dt id="apache_beam.io.iobase.Read">
<em class="property">class </em><code class="descclassname">apache_beam.io.iobase.</code><code class="descname">Read</code><span class="sig-paren">(</span><em>source</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#Read"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.Read" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <a class="reference internal" href="apache_beam.transforms.ptransform.html#apache_beam.transforms.ptransform.PTransform" title="apache_beam.transforms.ptransform.PTransform"><code class="xref py py-class docutils literal notranslate"><span class="pre">apache_beam.transforms.ptransform.PTransform</span></code></a></p>
<p>A transform that reads a PCollection.</p>
<p>Initializes a Read transform.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>source</strong> – Data source to read from.</td>
</tr>
</tbody>
</table>
<dl class="staticmethod">
<dt id="apache_beam.io.iobase.Read.get_desired_chunk_size">
<em class="property">static </em><code class="descname">get_desired_chunk_size</code><span class="sig-paren">(</span><em>total_size</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#Read.get_desired_chunk_size"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.Read.get_desired_chunk_size" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.Read.expand">
<code class="descname">expand</code><span class="sig-paren">(</span><em>pbegin</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#Read.expand"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.Read.expand" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.Read.get_windowing">
<code class="descname">get_windowing</code><span class="sig-paren">(</span><em>unused_inputs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#Read.get_windowing"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.Read.get_windowing" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.Read.display_data">
<code class="descname">display_data</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#Read.display_data"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.Read.display_data" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.Read.to_runner_api_parameter">
<code class="descname">to_runner_api_parameter</code><span class="sig-paren">(</span><em>context: apache_beam.runners.pipeline_context.PipelineContext</em><span class="sig-paren">)</span> &#x2192; Tuple[str, Any]<a class="reference internal" href="_modules/apache_beam/io/iobase.html#Read.to_runner_api_parameter"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.Read.to_runner_api_parameter" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="staticmethod">
<dt id="apache_beam.io.iobase.Read.from_runner_api_parameter">
<em class="property">static </em><code class="descname">from_runner_api_parameter</code><span class="sig-paren">(</span><em>transform: beam_runner_api_pb2.PTransform, payload: Union[beam_runner_api_pb2.ReadPayload, beam_runner_api_pb2.PubSubReadPayload], context: apache_beam.runners.pipeline_context.PipelineContext</em><span class="sig-paren">)</span> &#x2192; apache_beam.io.iobase.Read<a class="reference internal" href="_modules/apache_beam/io/iobase.html#Read.from_runner_api_parameter"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.Read.from_runner_api_parameter" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="class">
<dt id="apache_beam.io.iobase.Read.PipelineContext">
<em class="property">class </em><code class="descname">PipelineContext</code><span class="sig-paren">(</span><em>proto=None</em>, <em>component_id_map=None</em>, <em>default_environment=None</em>, <em>use_fake_coders=False</em>, <em>iterable_state_read=None</em>, <em>iterable_state_write=None</em>, <em>namespace='ref'</em>, <em>requirements=()</em><span class="sig-paren">)</span><a class="headerlink" href="#apache_beam.io.iobase.Read.PipelineContext" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.10)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>For internal use only; no backwards-compatibility guarantees.</p>
<p>Used for accessing and constructing the referenced objects of a Pipeline.</p>
<dl class="method">
<dt id="apache_beam.io.iobase.Read.PipelineContext.add_requirement">
<code class="descname">add_requirement</code><span class="sig-paren">(</span><em>requirement</em><span class="sig-paren">)</span><a class="headerlink" href="#apache_beam.io.iobase.Read.PipelineContext.add_requirement" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.Read.PipelineContext.coder_id_from_element_type">
<code class="descname">coder_id_from_element_type</code><span class="sig-paren">(</span><em>element_type</em>, <em>requires_deterministic_key_coder=None</em><span class="sig-paren">)</span><a class="headerlink" href="#apache_beam.io.iobase.Read.PipelineContext.coder_id_from_element_type" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.Read.PipelineContext.default_environment_id">
<code class="descname">default_environment_id</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#apache_beam.io.iobase.Read.PipelineContext.default_environment_id" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.Read.PipelineContext.element_type_from_coder_id">
<code class="descname">element_type_from_coder_id</code><span class="sig-paren">(</span><em>coder_id</em><span class="sig-paren">)</span><a class="headerlink" href="#apache_beam.io.iobase.Read.PipelineContext.element_type_from_coder_id" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="staticmethod">
<dt id="apache_beam.io.iobase.Read.PipelineContext.from_runner_api">
<em class="property">static </em><code class="descname">from_runner_api</code><span class="sig-paren">(</span><em>proto</em><span class="sig-paren">)</span><a class="headerlink" href="#apache_beam.io.iobase.Read.PipelineContext.from_runner_api" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.Read.PipelineContext.get_environment_id_for_resource_hints">
<code class="descname">get_environment_id_for_resource_hints</code><span class="sig-paren">(</span><em>hints</em><span class="sig-paren">)</span><a class="headerlink" href="#apache_beam.io.iobase.Read.PipelineContext.get_environment_id_for_resource_hints" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns an environment id that has necessary resource hints.</p>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.Read.PipelineContext.requirements">
<code class="descname">requirements</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#apache_beam.io.iobase.Read.PipelineContext.requirements" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.Read.PipelineContext.to_runner_api">
<code class="descname">to_runner_api</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#apache_beam.io.iobase.Read.PipelineContext.to_runner_api" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

</dd></dl>

</dd></dl>

<dl class="class">
<dt id="apache_beam.io.iobase.Write">
<em class="property">class </em><code class="descclassname">apache_beam.io.iobase.</code><code class="descname">Write</code><span class="sig-paren">(</span><em>sink</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#Write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.Write" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <a class="reference internal" href="apache_beam.transforms.ptransform.html#apache_beam.transforms.ptransform.PTransform" title="apache_beam.transforms.ptransform.PTransform"><code class="xref py py-class docutils literal notranslate"><span class="pre">apache_beam.transforms.ptransform.PTransform</span></code></a></p>
<p>A <code class="docutils literal notranslate"><span class="pre">PTransform</span></code> that writes to a sink.</p>
<p>A sink should inherit <code class="docutils literal notranslate"><span class="pre">iobase.Sink</span></code>. Such implementations are
handled using a composite transform that consists of three <code class="docutils literal notranslate"><span class="pre">ParDo``s</span> <span class="pre">-</span>
<span class="pre">(1)</span> <span class="pre">a</span> <span class="pre">``ParDo</span></code> performing a global initialization (2) a <code class="docutils literal notranslate"><span class="pre">ParDo</span></code> performing
a parallel write and (3) a <code class="docutils literal notranslate"><span class="pre">ParDo</span></code> performing a global finalization. In the
case of an empty <code class="docutils literal notranslate"><span class="pre">PCollection</span></code>, only the global initialization and
finalization will be performed. Currently only batch workflows support custom
sinks.</p>
<p>Example usage:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">pcollection</span> <span class="o">|</span> <span class="n">beam</span><span class="o">.</span><span class="n">io</span><span class="o">.</span><span class="n">Write</span><span class="p">(</span><span class="n">MySink</span><span class="p">())</span>
</pre></div>
</div>
<p>This returns a <code class="docutils literal notranslate"><span class="pre">pvalue.PValue</span></code> object that represents the end of the
Pipeline.</p>
<p>The sink argument may also be a full PTransform, in which case it will be
applied directly.  This allows composite sink-like transforms (e.g. a sink
with some pre-processing DoFns) to be used the same as all other sinks.</p>
<p>This transform also supports sinks that inherit <code class="docutils literal notranslate"><span class="pre">iobase.NativeSink</span></code>. These
are sinks that are implemented natively by the Dataflow service and hence
should not be updated by users. These sinks are processed using a Dataflow
native write transform.</p>
<p>Initializes a Write transform.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>sink</strong> – Data sink to write to.</td>
</tr>
</tbody>
</table>
<dl class="method">
<dt id="apache_beam.io.iobase.Write.display_data">
<code class="descname">display_data</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#Write.display_data"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.Write.display_data" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.Write.expand">
<code class="descname">expand</code><span class="sig-paren">(</span><em>pcoll</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#Write.expand"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.Write.expand" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.Write.to_runner_api_parameter">
<code class="descname">to_runner_api_parameter</code><span class="sig-paren">(</span><em>context: apache_beam.runners.pipeline_context.PipelineContext</em><span class="sig-paren">)</span> &#x2192; Tuple[str, Any]<a class="reference internal" href="_modules/apache_beam/io/iobase.html#Write.to_runner_api_parameter"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.Write.to_runner_api_parameter" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="staticmethod">
<dt id="apache_beam.io.iobase.Write.from_runner_api_parameter">
<em class="property">static </em><code class="descname">from_runner_api_parameter</code><span class="sig-paren">(</span><em>ptransform: Any</em>, <em>payload: beam_runner_api_pb2.PubSubWritePayload</em>, <em>unused_context: apache_beam.runners.pipeline_context.PipelineContext</em><span class="sig-paren">)</span> &#x2192; apache_beam.io.iobase.Write<a class="reference internal" href="_modules/apache_beam/io/iobase.html#Write.from_runner_api_parameter"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.Write.from_runner_api_parameter" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="class">
<dt id="apache_beam.io.iobase.Write.PipelineContext">
<em class="property">class </em><code class="descname">PipelineContext</code><span class="sig-paren">(</span><em>proto=None</em>, <em>component_id_map=None</em>, <em>default_environment=None</em>, <em>use_fake_coders=False</em>, <em>iterable_state_read=None</em>, <em>iterable_state_write=None</em>, <em>namespace='ref'</em>, <em>requirements=()</em><span class="sig-paren">)</span><a class="headerlink" href="#apache_beam.io.iobase.Write.PipelineContext" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.10)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>For internal use only; no backwards-compatibility guarantees.</p>
<p>Used for accessing and constructing the referenced objects of a Pipeline.</p>
<dl class="method">
<dt id="apache_beam.io.iobase.Write.PipelineContext.add_requirement">
<code class="descname">add_requirement</code><span class="sig-paren">(</span><em>requirement</em><span class="sig-paren">)</span><a class="headerlink" href="#apache_beam.io.iobase.Write.PipelineContext.add_requirement" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.Write.PipelineContext.coder_id_from_element_type">
<code class="descname">coder_id_from_element_type</code><span class="sig-paren">(</span><em>element_type</em>, <em>requires_deterministic_key_coder=None</em><span class="sig-paren">)</span><a class="headerlink" href="#apache_beam.io.iobase.Write.PipelineContext.coder_id_from_element_type" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.Write.PipelineContext.default_environment_id">
<code class="descname">default_environment_id</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#apache_beam.io.iobase.Write.PipelineContext.default_environment_id" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.Write.PipelineContext.element_type_from_coder_id">
<code class="descname">element_type_from_coder_id</code><span class="sig-paren">(</span><em>coder_id</em><span class="sig-paren">)</span><a class="headerlink" href="#apache_beam.io.iobase.Write.PipelineContext.element_type_from_coder_id" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="staticmethod">
<dt id="apache_beam.io.iobase.Write.PipelineContext.from_runner_api">
<em class="property">static </em><code class="descname">from_runner_api</code><span class="sig-paren">(</span><em>proto</em><span class="sig-paren">)</span><a class="headerlink" href="#apache_beam.io.iobase.Write.PipelineContext.from_runner_api" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.Write.PipelineContext.get_environment_id_for_resource_hints">
<code class="descname">get_environment_id_for_resource_hints</code><span class="sig-paren">(</span><em>hints</em><span class="sig-paren">)</span><a class="headerlink" href="#apache_beam.io.iobase.Write.PipelineContext.get_environment_id_for_resource_hints" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns an environment id that has necessary resource hints.</p>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.Write.PipelineContext.requirements">
<code class="descname">requirements</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#apache_beam.io.iobase.Write.PipelineContext.requirements" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.Write.PipelineContext.to_runner_api">
<code class="descname">to_runner_api</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#apache_beam.io.iobase.Write.PipelineContext.to_runner_api" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

</dd></dl>

</dd></dl>

<dl class="class">
<dt id="apache_beam.io.iobase.RestrictionTracker">
<em class="property">class </em><code class="descclassname">apache_beam.io.iobase.</code><code class="descname">RestrictionTracker</code><a class="reference internal" href="_modules/apache_beam/io/iobase.html#RestrictionTracker"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.RestrictionTracker" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.10)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>Manages access to a restriction.</p>
<p>Keeps track of the restrictions claimed part for a Splittable DoFn.</p>
<p>The restriction may be modified by different threads, however the system will
ensure sufficient locking such that no methods on the restriction tracker
will be called concurrently.</p>
<p>See following documents for more details.
* <a class="reference external" href="https://s.apache.org/splittable-do-fn">https://s.apache.org/splittable-do-fn</a>
* <a class="reference external" href="https://s.apache.org/splittable-do-fn-python-sdk">https://s.apache.org/splittable-do-fn-python-sdk</a></p>
<dl class="method">
<dt id="apache_beam.io.iobase.RestrictionTracker.current_restriction">
<code class="descname">current_restriction</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#RestrictionTracker.current_restriction"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.RestrictionTracker.current_restriction" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the current restriction.</p>
<p>Returns a restriction accurately describing the full range of work the
current <code class="docutils literal notranslate"><span class="pre">DoFn.process()</span></code> call will do, including already completed work.</p>
<p>The current restriction returned by method may be updated dynamically due
to due to concurrent invocation of other methods of the
<code class="docutils literal notranslate"><span class="pre">RestrictionTracker</span></code>, For example, <code class="docutils literal notranslate"><span class="pre">split()</span></code>.</p>
<p>This API is required to be implemented.</p>
<p>Returns: a restriction object.</p>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.RestrictionTracker.current_progress">
<code class="descname">current_progress</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#RestrictionTracker.current_progress"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.RestrictionTracker.current_progress" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns a RestrictionProgress object representing the current progress.</p>
<p>This API is recommended to be implemented. The runner can do a better job
at parallel processing with better progress signals.</p>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.RestrictionTracker.check_done">
<code class="descname">check_done</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#RestrictionTracker.check_done"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.RestrictionTracker.check_done" title="Permalink to this definition">¶</a></dt>
<dd><p>Checks whether the restriction has been fully processed.</p>
<p>Called by the SDK harness after iterator returned by <code class="docutils literal notranslate"><span class="pre">DoFn.process()</span></code>
has been fully read.</p>
<p>This method must raise a <cite>ValueError</cite> if there is still any unclaimed work
remaining in the restriction when this method is invoked. Exception raised
must have an informative error message.</p>
<p>This API is required to be implemented in order to make sure no data loss
during SDK processing.</p>
<p>Returns: <code class="docutils literal notranslate"><span class="pre">True</span></code> if current restriction has been fully processed.
:raises: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#ValueError" title="(in Python v3.10)"><code class="xref py py-exc docutils literal notranslate"><span class="pre">ValueError</span></code></a> – if there is still any unclaimed work remaining.</p>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.RestrictionTracker.try_split">
<code class="descname">try_split</code><span class="sig-paren">(</span><em>fraction_of_remainder</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#RestrictionTracker.try_split"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.RestrictionTracker.try_split" title="Permalink to this definition">¶</a></dt>
<dd><p>Splits current restriction based on fraction_of_remainder.</p>
<p>If splitting the current restriction is possible, the current restriction is
split into a primary and residual restriction pair. This invocation updates
the <code class="docutils literal notranslate"><span class="pre">current_restriction()</span></code> to be the primary restriction effectively
having the current <code class="docutils literal notranslate"><span class="pre">DoFn.process()</span></code> execution responsible for performing
the work that the primary restriction represents. The residual restriction
will be executed in a separate <code class="docutils literal notranslate"><span class="pre">DoFn.process()</span></code> invocation (likely in a
different process). The work performed by executing the primary and residual
restrictions as separate <code class="docutils literal notranslate"><span class="pre">DoFn.process()</span></code> invocations MUST be equivalent
to the work performed as if this split never occurred.</p>
<p>The <code class="docutils literal notranslate"><span class="pre">fraction_of_remainder</span></code> should be used in a best effort manner to
choose a primary and residual restriction based upon the fraction of the
remaining work that the current <code class="docutils literal notranslate"><span class="pre">DoFn.process()</span></code> invocation is responsible
for. For example, if a <code class="docutils literal notranslate"><span class="pre">DoFn.process()</span></code> was reading a file with a
restriction representing the offset range [100, 200) and has processed up to
offset 130 with a fraction_of_remainder of 0.7, the primary and residual
restrictions returned would be [100, 179), [179, 200) (note: current_offset
+ fraction_of_remainder * remaining_work = 130 + 0.7 * 70 = 179).</p>
<p><code class="docutils literal notranslate"><span class="pre">fraction_of_remainder</span></code> = 0 means a checkpoint is required.</p>
<p>The API is recommended to be implemented for batch pipeline given that it is
very important for pipeline scaling and end to end pipeline execution.</p>
<p>The API is required to be implemented for a streaming pipeline.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>fraction_of_remainder</strong> – A hint as to the fraction of work the primary
restriction should represent based upon the current known remaining
amount of work.</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">(primary_restriction, residual_restriction) if a split was possible,
otherwise returns <code class="docutils literal notranslate"><span class="pre">None</span></code>.</td>
</tr>
</tbody>
</table>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.RestrictionTracker.try_claim">
<code class="descname">try_claim</code><span class="sig-paren">(</span><em>position</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#RestrictionTracker.try_claim"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.RestrictionTracker.try_claim" title="Permalink to this definition">¶</a></dt>
<dd><p>Attempts to claim the block of work in the current restriction
identified by the given position. Each claimed position MUST be a valid
split point.</p>
<p>If this succeeds, the DoFn MUST execute the entire block of work. If it
fails, the <code class="docutils literal notranslate"><span class="pre">DoFn.process()</span></code> MUST return <code class="docutils literal notranslate"><span class="pre">None</span></code> without performing any
additional work or emitting output (note that emitting output or performing
work from <code class="docutils literal notranslate"><span class="pre">DoFn.process()</span></code> is also not allowed before the first call of
this method).</p>
<p>The API is required to be implemented.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>position</strong> – current position that wants to be claimed.</td>
</tr>
</tbody>
</table>
<p>Returns: <code class="docutils literal notranslate"><span class="pre">True</span></code> if the position can be claimed as current_position.
Otherwise, returns <code class="docutils literal notranslate"><span class="pre">False</span></code>.</p>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.RestrictionTracker.is_bounded">
<code class="descname">is_bounded</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#RestrictionTracker.is_bounded"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.RestrictionTracker.is_bounded" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns whether the amount of work represented by the current restriction
is bounded.</p>
<p>The boundedness of the restriction is used to determine the default behavior
of how to truncate restrictions when a pipeline is being
<a class="reference external" href="https://docs.google.com/document/d/1NExwHlj-2q2WUGhSO4jTu8XGhDPmm3cllSN8IMmWci8/edit#">drained</a>.  # pylint: disable=line-too-long
If the restriction is bounded, then the entire restriction will be processed
otherwise the restriction will be processed till a checkpoint is possible.</p>
<p>The API is required to be implemented.</p>
<p>Returns: <code class="docutils literal notranslate"><span class="pre">True</span></code> if the restriction represents a finite amount of work.
Otherwise, returns <code class="docutils literal notranslate"><span class="pre">False</span></code>.</p>
</dd></dl>

</dd></dl>

<dl class="class">
<dt id="apache_beam.io.iobase.WatermarkEstimator">
<em class="property">class </em><code class="descclassname">apache_beam.io.iobase.</code><code class="descname">WatermarkEstimator</code><a class="reference internal" href="_modules/apache_beam/io/iobase.html#WatermarkEstimator"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.WatermarkEstimator" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.10)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>A WatermarkEstimator which is used for estimating output_watermark based on
the timestamp of output records or manual modifications. Please refer to
<code class="docutils literal notranslate"><span class="pre">watermark_estiamtors</span></code> for commonly used watermark estimators.</p>
<p>The base class provides common APIs that are called by the framework, which
are also accessible inside a DoFn.process() body. Derived watermark estimator
should implement all APIs listed below. Additional methods can be implemented
and will be available when invoked within a DoFn.</p>
<p>Internal state must not be updated asynchronously.</p>
<dl class="method">
<dt id="apache_beam.io.iobase.WatermarkEstimator.get_estimator_state">
<code class="descname">get_estimator_state</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#WatermarkEstimator.get_estimator_state"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.WatermarkEstimator.get_estimator_state" title="Permalink to this definition">¶</a></dt>
<dd><p>Get current state of the WatermarkEstimator instance, which can be used
to recreate the WatermarkEstimator when processing the restriction. See
WatermarkEstimatorProvider.create_watermark_estimator.</p>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.WatermarkEstimator.current_watermark">
<code class="descname">current_watermark</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#WatermarkEstimator.current_watermark"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.WatermarkEstimator.current_watermark" title="Permalink to this definition">¶</a></dt>
<dd><p>Return estimated output_watermark. This function must return
monotonically increasing watermarks.</p>
</dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.WatermarkEstimator.observe_timestamp">
<code class="descname">observe_timestamp</code><span class="sig-paren">(</span><em>timestamp</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#WatermarkEstimator.observe_timestamp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.WatermarkEstimator.observe_timestamp" title="Permalink to this definition">¶</a></dt>
<dd><p>Update tracking  watermark with latest output timestamp.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>timestamp</strong> – the <cite>timestamp.Timestamp</cite> of current output element.</td>
</tr>
</tbody>
</table>
<p>This is called with the timestamp of every element output from the DoFn.</p>
</dd></dl>

</dd></dl>

<dl class="class">
<dt id="apache_beam.io.iobase.RestrictionProgress">
<em class="property">class </em><code class="descclassname">apache_beam.io.iobase.</code><code class="descname">RestrictionProgress</code><span class="sig-paren">(</span><em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#RestrictionProgress"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.RestrictionProgress" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.10)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>Used to record the progress of a restriction.</p>
<dl class="attribute">
<dt id="apache_beam.io.iobase.RestrictionProgress.completed_work">
<code class="descname">completed_work</code><a class="headerlink" href="#apache_beam.io.iobase.RestrictionProgress.completed_work" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="attribute">
<dt id="apache_beam.io.iobase.RestrictionProgress.remaining_work">
<code class="descname">remaining_work</code><a class="headerlink" href="#apache_beam.io.iobase.RestrictionProgress.remaining_work" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="attribute">
<dt id="apache_beam.io.iobase.RestrictionProgress.total_work">
<code class="descname">total_work</code><a class="headerlink" href="#apache_beam.io.iobase.RestrictionProgress.total_work" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="attribute">
<dt id="apache_beam.io.iobase.RestrictionProgress.fraction_completed">
<code class="descname">fraction_completed</code><a class="headerlink" href="#apache_beam.io.iobase.RestrictionProgress.fraction_completed" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="attribute">
<dt id="apache_beam.io.iobase.RestrictionProgress.fraction_remaining">
<code class="descname">fraction_remaining</code><a class="headerlink" href="#apache_beam.io.iobase.RestrictionProgress.fraction_remaining" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="apache_beam.io.iobase.RestrictionProgress.with_completed">
<code class="descname">with_completed</code><span class="sig-paren">(</span><em>completed</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/iobase.html#RestrictionProgress.with_completed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.iobase.RestrictionProgress.with_completed" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

</dd></dl>

</div>


           </div>
           
          </div>
          <footer>
  
    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
      
        <a href="apache_beam.io.jdbc.html" class="btn btn-neutral float-right" title="apache_beam.io.jdbc module" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
      
      
        <a href="apache_beam.io.hadoopfilesystem.html" class="btn btn-neutral float-left" title="apache_beam.io.hadoopfilesystem module" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
      
    </div>
  

  <hr/>

  <div role="contentinfo">
    <p>
        &copy; Copyright 

    </p>
  </div>
  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 

</footer>

        </div>
      </div>

    </section>

  </div>
  


  <script type="text/javascript">
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script>

  
  
    
   

</body>
</html>