blob: b379dd9681475cf1b6da2cdf70630e38898a8ebb [file] [log] [blame]
<!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.runners.interactive.caching.streaming_cache module &mdash; Apache Beam 2.38.0 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.runners.interactive.caching.write_cache module" href="apache_beam.runners.interactive.caching.write_cache.html" />
<link rel="prev" title="apache_beam.runners.interactive.caching.reify module" href="apache_beam.runners.interactive.caching.reify.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 class="version">
2.38.0
</div>
<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"><a class="reference internal" href="apache_beam.io.html">apache_beam.io package</a></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 current"><a class="reference internal" href="apache_beam.runners.html">apache_beam.runners package</a><ul class="current">
<li class="toctree-l2 current"><a class="reference internal" href="apache_beam.runners.html#subpackages">Subpackages</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="apache_beam.runners.dataflow.html">apache_beam.runners.dataflow package</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.runners.direct.html">apache_beam.runners.direct package</a></li>
<li class="toctree-l3 current"><a class="reference internal" href="apache_beam.runners.interactive.html">apache_beam.runners.interactive package</a><ul class="current">
<li class="toctree-l4 current"><a class="reference internal" href="apache_beam.runners.interactive.html#subpackages">Subpackages</a></li>
<li class="toctree-l4"><a class="reference internal" href="apache_beam.runners.interactive.html#submodules">Submodules</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.runners.job.html">apache_beam.runners.job package</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="apache_beam.runners.html#submodules">Submodules</a></li>
</ul>
</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.runners.html">apache_beam.runners package</a> &raquo;</li>
<li><a href="apache_beam.runners.interactive.html">apache_beam.runners.interactive package</a> &raquo;</li>
<li><a href="apache_beam.runners.interactive.caching.html">apache_beam.runners.interactive.caching package</a> &raquo;</li>
<li>apache_beam.runners.interactive.caching.streaming_cache module</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/apache_beam.runners.interactive.caching.streaming_cache.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.runners.interactive.caching.streaming_cache">
<span id="apache-beam-runners-interactive-caching-streaming-cache-module"></span><h1>apache_beam.runners.interactive.caching.streaming_cache module<a class="headerlink" href="#module-apache_beam.runners.interactive.caching.streaming_cache" title="Permalink to this headline"></a></h1>
<dl class="class">
<dt id="apache_beam.runners.interactive.caching.streaming_cache.StreamingCacheSink">
<em class="property">class </em><code class="descclassname">apache_beam.runners.interactive.caching.streaming_cache.</code><code class="descname">StreamingCacheSink</code><span class="sig-paren">(</span><em>cache_dir</em>, <em>filename</em>, <em>sample_resolution_sec</em>, <em>coder=SafeFastPrimitivesCoder</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/caching/streaming_cache.html#StreamingCacheSink"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.caching.streaming_cache.StreamingCacheSink" 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 PTransform that writes TestStreamFile(Header|Records)s to file.</p>
<p>This transform takes in an arbitrary element stream and writes the list of
TestStream events (as TestStreamFileRecords) to file. When replayed, this
will produce the best-effort replay of the original job (e.g. some elements
may be produced slightly out of order from the original stream).</p>
<p>Note that this PTransform is assumed to be only run on a single machine where
the following assumptions are correct: elements come in ordered, no two
transforms are writing to the same file. This PTransform is assumed to only
run correctly with the DirectRunner.</p>
<p>TODO(BEAM-9447): Generalize this to more source/sink types aside from file
based. Also, generalize to cases where there might be multiple workers
writing to the same sink.</p>
<dl class="attribute">
<dt id="apache_beam.runners.interactive.caching.streaming_cache.StreamingCacheSink.path">
<code class="descname">path</code><a class="headerlink" href="#apache_beam.runners.interactive.caching.streaming_cache.StreamingCacheSink.path" title="Permalink to this definition"></a></dt>
<dd><p>Returns the path the sink leads to.</p>
</dd></dl>
<dl class="attribute">
<dt id="apache_beam.runners.interactive.caching.streaming_cache.StreamingCacheSink.size_in_bytes">
<code class="descname">size_in_bytes</code><a class="headerlink" href="#apache_beam.runners.interactive.caching.streaming_cache.StreamingCacheSink.size_in_bytes" title="Permalink to this definition"></a></dt>
<dd><p>Returns the space usage in bytes of the sink.</p>
</dd></dl>
<dl class="method">
<dt id="apache_beam.runners.interactive.caching.streaming_cache.StreamingCacheSink.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/runners/interactive/caching/streaming_cache.html#StreamingCacheSink.expand"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.caching.streaming_cache.StreamingCacheSink.expand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="apache_beam.runners.interactive.caching.streaming_cache.StreamingCacheSource">
<em class="property">class </em><code class="descclassname">apache_beam.runners.interactive.caching.streaming_cache.</code><code class="descname">StreamingCacheSource</code><span class="sig-paren">(</span><em>cache_dir</em>, <em>labels</em>, <em>is_cache_complete=None</em>, <em>coder=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/caching/streaming_cache.html#StreamingCacheSource"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.caching.streaming_cache.StreamingCacheSource" 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 class that reads and parses TestStreamFile(Header|Reader)s.</p>
<p>This source operates in the following way:</p>
<blockquote>
<div><ol class="arabic simple">
<li>Wait for up to <cite>timeout_secs</cite> for the file to be available.</li>
<li>Read, parse, and emit the entire contents of the file</li>
<li>Wait for more events to come or until <cite>is_cache_complete</cite> returns True</li>
<li>If there are more events, then go to 2</li>
<li>Otherwise, stop emitting.</li>
</ol>
</div></blockquote>
<p>This class is used to read from file and send its to the TestStream via the
StreamingCacheManager.Reader.</p>
<dl class="method">
<dt id="apache_beam.runners.interactive.caching.streaming_cache.StreamingCacheSource.read">
<code class="descname">read</code><span class="sig-paren">(</span><em>tail</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/caching/streaming_cache.html#StreamingCacheSource.read"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.caching.streaming_cache.StreamingCacheSource.read" title="Permalink to this definition"></a></dt>
<dd><p>Reads all TestStreamFile(Header|TestStreamFileRecord)s from file.</p>
<p>This returns a generator to be able to read all lines from the given file.
If <cite>tail</cite> is True, then it will wait until the cache is complete to exit.
Otherwise, it will read the file only once.</p>
</dd></dl>
</dd></dl>
<dl class="class">
<dt id="apache_beam.runners.interactive.caching.streaming_cache.StreamingCache">
<em class="property">class </em><code class="descclassname">apache_beam.runners.interactive.caching.streaming_cache.</code><code class="descname">StreamingCache</code><span class="sig-paren">(</span><em>cache_dir</em>, <em>is_cache_complete=None</em>, <em>sample_resolution_sec=0.1</em>, <em>saved_pcoders=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/caching/streaming_cache.html#StreamingCache"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.caching.streaming_cache.StreamingCache" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="apache_beam.runners.interactive.cache_manager.html#apache_beam.runners.interactive.cache_manager.CacheManager" title="apache_beam.runners.interactive.cache_manager.CacheManager"><code class="xref py py-class docutils literal notranslate"><span class="pre">apache_beam.runners.interactive.cache_manager.CacheManager</span></code></a></p>
<p>Abstraction that holds the logic for reading and writing to cache.</p>
<dl class="method">
<dt id="apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.size">
<code class="descname">size</code><span class="sig-paren">(</span><em>*labels</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/caching/streaming_cache.html#StreamingCache.size"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.size" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.capture_size">
<code class="descname">capture_size</code><a class="headerlink" href="#apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.capture_size" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.capture_paths">
<code class="descname">capture_paths</code><a class="headerlink" href="#apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.capture_paths" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.capture_keys">
<code class="descname">capture_keys</code><a class="headerlink" href="#apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.capture_keys" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.exists">
<code class="descname">exists</code><span class="sig-paren">(</span><em>*labels</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/caching/streaming_cache.html#StreamingCache.exists"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.exists" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.read">
<code class="descname">read</code><span class="sig-paren">(</span><em>*labels</em>, <em>**args</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/caching/streaming_cache.html#StreamingCache.read"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.read" title="Permalink to this definition"></a></dt>
<dd><p>Returns a generator to read all records from file.</p>
</dd></dl>
<dl class="method">
<dt id="apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.read_multiple">
<code class="descname">read_multiple</code><span class="sig-paren">(</span><em>labels</em>, <em>tail=True</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/caching/streaming_cache.html#StreamingCache.read_multiple"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.read_multiple" title="Permalink to this definition"></a></dt>
<dd><p>Returns a generator to read all records from file.</p>
<p>Does tail until the cache is complete. This is because it is used in the
TestStreamServiceController to read from file which is only used during
pipeline runtime which needs to block.</p>
</dd></dl>
<dl class="method">
<dt id="apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.write">
<code class="descname">write</code><span class="sig-paren">(</span><em>values</em>, <em>*labels</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/caching/streaming_cache.html#StreamingCache.write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.write" title="Permalink to this definition"></a></dt>
<dd><p>Writes the given values to cache.</p>
</dd></dl>
<dl class="method">
<dt id="apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.clear">
<code class="descname">clear</code><span class="sig-paren">(</span><em>*labels</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/caching/streaming_cache.html#StreamingCache.clear"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.clear" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.source">
<code class="descname">source</code><span class="sig-paren">(</span><em>*labels</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/caching/streaming_cache.html#StreamingCache.source"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.source" title="Permalink to this definition"></a></dt>
<dd><p>Returns the StreamingCacheManager source.</p>
<p>This is beam.Impulse() because unbounded sources will be marked with this
and then the PipelineInstrument will replace these with a TestStream.</p>
</dd></dl>
<dl class="method">
<dt id="apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.sink">
<code class="descname">sink</code><span class="sig-paren">(</span><em>labels</em>, <em>is_capture=False</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/caching/streaming_cache.html#StreamingCache.sink"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.sink" title="Permalink to this definition"></a></dt>
<dd><p>Returns a StreamingCacheSink to write elements to file.</p>
<p>Note that this is assumed to only work in the DirectRunner as the underlying
StreamingCacheSink assumes a single machine to have correct element
ordering.</p>
</dd></dl>
<dl class="method">
<dt id="apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.save_pcoder">
<code class="descname">save_pcoder</code><span class="sig-paren">(</span><em>pcoder</em>, <em>*labels</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/caching/streaming_cache.html#StreamingCache.save_pcoder"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.save_pcoder" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.load_pcoder">
<code class="descname">load_pcoder</code><span class="sig-paren">(</span><em>*labels</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/caching/streaming_cache.html#StreamingCache.load_pcoder"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.load_pcoder" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.cleanup">
<code class="descname">cleanup</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/caching/streaming_cache.html#StreamingCache.cleanup"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.cleanup" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="class">
<dt id="apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.Reader">
<em class="property">class </em><code class="descname">Reader</code><span class="sig-paren">(</span><em>headers</em>, <em>readers</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/caching/streaming_cache.html#StreamingCache.Reader"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.Reader" 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>Abstraction that reads from PCollection readers.</p>
<p>This class is an Abstraction layer over multiple PCollection readers to be
used for supplying a TestStream service with events.</p>
<p>This class is also responsible for holding the state of the clock, injecting
clock advancement events, and watermark advancement events.</p>
<dl class="method">
<dt id="apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.Reader.read">
<code class="descname">read</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/caching/streaming_cache.html#StreamingCache.Reader.read"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.caching.streaming_cache.StreamingCache.Reader.read" title="Permalink to this definition"></a></dt>
<dd><p>Reads records from PCollection readers.</p>
</dd></dl>
</dd></dl>
</dd></dl>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="apache_beam.runners.interactive.caching.write_cache.html" class="btn btn-neutral float-right" title="apache_beam.runners.interactive.caching.write_cache module" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="apache_beam.runners.interactive.caching.reify.html" class="btn btn-neutral float-left" title="apache_beam.runners.interactive.caching.reify 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>