blob: 0989512200653d2b464273dd2f8b1078d10f19cd [file] [log] [blame]
<!DOCTYPE html>
<html class="writer-html5" lang="en" data-content_root="./">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>apache_beam.runners.interactive.caching.read_cache module &mdash; Apache Beam 2.68.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=b86133f3" />
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
<script src="_static/jquery.js?v=5d32c60e"></script>
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="_static/documentation_options.js?v=2388e03a"></script>
<script src="_static/doctools.js?v=9a2dae69"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/js/theme.js"></script>
<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.reify module" href="apache_beam.runners.interactive.caching.reify.html" />
<link rel="prev" title="apache_beam.runners.interactive.caching.expression_cache module" href="apache_beam.runners.interactive.caching.expression_cache.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" aria-label="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="Navigation menu">
<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.dask.html">apache_beam.runners.dask package</a></li>
<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.testing.html">apache_beam.testing 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>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.yaml.html">apache_beam.yaml 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="Mobile navigation menu" >
<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="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="apache_beam.runners.html">apache_beam.runners package</a></li>
<li class="breadcrumb-item"><a href="apache_beam.runners.interactive.html">apache_beam.runners.interactive package</a></li>
<li class="breadcrumb-item"><a href="apache_beam.runners.interactive.caching.html">apache_beam.runners.interactive.caching package</a></li>
<li class="breadcrumb-item active">apache_beam.runners.interactive.caching.read_cache module</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/apache_beam.runners.interactive.caching.read_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">
<section id="module-apache_beam.runners.interactive.caching.read_cache">
<span id="apache-beam-runners-interactive-caching-read-cache-module"></span><h1>apache_beam.runners.interactive.caching.read_cache module<a class="headerlink" href="#module-apache_beam.runners.interactive.caching.read_cache" title="Link to this heading"></a></h1>
<p>Module to read cache of computed PCollections.</p>
<p>For internal use only; no backward-compatibility guarantees.</p>
<dl class="py class">
<dt class="sig sig-object py" id="apache_beam.runners.interactive.caching.read_cache.ReadCache">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">apache_beam.runners.interactive.caching.read_cache.</span></span><span class="sig-name descname"><span class="pre">ReadCache</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pipeline</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Pipeline</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">context</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="apache_beam.runners.pipeline_context.html#apache_beam.runners.pipeline_context.PipelineContext" title="apache_beam.runners.pipeline_context.PipelineContext"><span class="pre">PipelineContext</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">cache_manager</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><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"><span class="pre">CacheManager</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">cacheable</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference internal" href="apache_beam.runners.interactive.caching.cacheable.html#apache_beam.runners.interactive.caching.cacheable.Cacheable" title="apache_beam.runners.interactive.caching.cacheable.Cacheable"><span class="pre">Cacheable</span></a></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/caching/read_cache.html#ReadCache"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#apache_beam.runners.interactive.caching.read_cache.ReadCache" title="Link 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.13)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>Class that facilitates reading cache of computed PCollections.</p>
<dl class="py method">
<dt class="sig sig-object py" id="apache_beam.runners.interactive.caching.read_cache.ReadCache.read_cache">
<span class="sig-name descname"><span class="pre">read_cache</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Tuple" title="(in Python v3.13)"><span class="pre">Tuple</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.13)"><span class="pre">str</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.13)"><span class="pre">str</span></a><span class="p"><span class="pre">]</span></span></span></span><a class="reference internal" href="_modules/apache_beam/runners/interactive/caching/read_cache.html#ReadCache.read_cache"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#apache_beam.runners.interactive.caching.read_cache.ReadCache.read_cache" title="Link to this definition"></a></dt>
<dd><p>Reads cache of the cacheable PCollection and wires the cache into the
pipeline proto. Returns the pipeline-scoped ids of the cacheable PCollection
and the cache reading output PCollection that replaces it.</p>
<p>First, it creates a temporary pipeline instance on top of the existing
component_id_map from the self._pipeline’s context so that both pipelines
share the context and have no conflict component ids.
Second, it instantiates a _ReadCacheTransform to build the temporary
pipeline with a subgraph under top level transforms that reads the cache of
a cacheable PCollection.
Third, it copies components of the subgraph from the temporary pipeline to
self._pipeline, skipping components that are not in the temporary pipeline
but presents in the component_id_map of self._pipeline. Since to_runner_api
generates components for all entries in the component_id_map, those
component ids from the context shared by self._pipeline need to be ignored.
Last, it replaces inputs of all transforms that consume the cacheable
PCollection with the output PCollection of the _ReadCacheTransform so that
the whole pipeline computes with data from the cache. The pipeline
fragment of reading the cacheable PCollection is now disconnected from the
rest of the pipeline and can be pruned later.</p>
</dd></dl>
</dd></dl>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="apache_beam.runners.interactive.caching.expression_cache.html" class="btn btn-neutral float-left" title="apache_beam.runners.interactive.caching.expression_cache module" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="apache_beam.runners.interactive.caching.reify.html" class="btn btn-neutral float-right" title="apache_beam.runners.interactive.caching.reify module" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>&#169; Copyright %Y, Apache Beam.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>