blob: a2c588a1b438e901dfbf298d67453524f0c7d0c5 [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.background_caching_job module &mdash; Apache Beam documentation</title>
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="index" title="Index"
href="genindex.html"/>
<link rel="search" title="Search" href="search.html"/>
<link rel="top" title="Apache Beam documentation" href="index.html"/>
<link rel="up" title="apache_beam.runners.interactive package" href="apache_beam.runners.interactive.html"/>
<link rel="next" title="apache_beam.runners.interactive.cache_manager module" href="apache_beam.runners.interactive.cache_manager.html"/>
<link rel="prev" title="apache_beam.runners.interactive.testing.pipeline_assertion module" href="apache_beam.runners.interactive.testing.pipeline_assertion.html"/>
<script src="_static/js/modernizr.min.js"></script>
</head>
<body class="wy-body-for-nav" role="document">
<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.internal.html">apache_beam.internal 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.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"><a class="reference internal" href="apache_beam.runners.interactive.html#subpackages">Subpackages</a></li>
<li class="toctree-l4 current"><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.internal.html">apache_beam.runners.internal package</a></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.tools.html">apache_beam.tools 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>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.version.html">apache_beam.version module</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" role="navigation" 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>apache_beam.runners.interactive.background_caching_job module</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/apache_beam.runners.interactive.background_caching_job.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.background_caching_job">
<span id="apache-beam-runners-interactive-background-caching-job-module"></span><h1>apache_beam.runners.interactive.background_caching_job module<a class="headerlink" href="#module-apache_beam.runners.interactive.background_caching_job" title="Permalink to this headline"></a></h1>
<p>Module to build and run background caching job.</p>
<p>For internal use only; no backwards-compatibility guarantees.</p>
<p>A background caching job is a job that caches events for all unbounded sources
of a given pipeline. With Interactive Beam, one such job is started when a
pipeline run happens (which produces a main job in contrast to the background
caching job) and meets the following conditions:</p>
<blockquote>
<div><ol class="arabic simple">
<li>The pipeline contains unbounded sources.</li>
<li>No such background job is running.</li>
<li>No such background job has completed successfully and the cached events are
still valid (invalidated when unbounded sources change in the pipeline).</li>
</ol>
</div></blockquote>
<p>Once started, the background caching job runs asynchronously until it hits some
cache size limit. Meanwhile, the main job and future main jobs from the pipeline
will run using the deterministic replay-able cached events until they are
invalidated.</p>
<dl class="function">
<dt id="apache_beam.runners.interactive.background_caching_job.attempt_to_run_background_caching_job">
<code class="descclassname">apache_beam.runners.interactive.background_caching_job.</code><code class="descname">attempt_to_run_background_caching_job</code><span class="sig-paren">(</span><em>runner</em>, <em>user_pipeline</em>, <em>options=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/background_caching_job.html#attempt_to_run_background_caching_job"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.background_caching_job.attempt_to_run_background_caching_job" title="Permalink to this definition"></a></dt>
<dd><p>Attempts to run a background caching job for a user-defined pipeline.</p>
<p>The pipeline result is automatically tracked by Interactive Beam in case
future cancellation/cleanup is needed.</p>
</dd></dl>
<dl class="function">
<dt id="apache_beam.runners.interactive.background_caching_job.is_background_caching_job_needed">
<code class="descclassname">apache_beam.runners.interactive.background_caching_job.</code><code class="descname">is_background_caching_job_needed</code><span class="sig-paren">(</span><em>user_pipeline</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/background_caching_job.html#is_background_caching_job_needed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.background_caching_job.is_background_caching_job_needed" title="Permalink to this definition"></a></dt>
<dd><p>Determines if a background caching job needs to be started.</p>
</dd></dl>
<dl class="function">
<dt id="apache_beam.runners.interactive.background_caching_job.has_source_to_cache">
<code class="descclassname">apache_beam.runners.interactive.background_caching_job.</code><code class="descname">has_source_to_cache</code><span class="sig-paren">(</span><em>user_pipeline</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/background_caching_job.html#has_source_to_cache"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.background_caching_job.has_source_to_cache" title="Permalink to this definition"></a></dt>
<dd><p>Determines if a user-defined pipeline contains any source that need to be
cached.</p>
</dd></dl>
<dl class="function">
<dt id="apache_beam.runners.interactive.background_caching_job.attempt_to_cancel_background_caching_job">
<code class="descclassname">apache_beam.runners.interactive.background_caching_job.</code><code class="descname">attempt_to_cancel_background_caching_job</code><span class="sig-paren">(</span><em>user_pipeline</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/background_caching_job.html#attempt_to_cancel_background_caching_job"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.background_caching_job.attempt_to_cancel_background_caching_job" title="Permalink to this definition"></a></dt>
<dd><p>Attempts to cancel background caching job for a user-defined pipeline.</p>
<p>If no background caching job needs to be cancelled, NOOP. Otherwise, cancel
such job.</p>
</dd></dl>
<dl class="function">
<dt id="apache_beam.runners.interactive.background_caching_job.is_source_to_cache_changed">
<code class="descclassname">apache_beam.runners.interactive.background_caching_job.</code><code class="descname">is_source_to_cache_changed</code><span class="sig-paren">(</span><em>user_pipeline</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/background_caching_job.html#is_source_to_cache_changed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.background_caching_job.is_source_to_cache_changed" title="Permalink to this definition"></a></dt>
<dd><p>Determines if there is any change in the sources that need to be cached
used by the user-defined pipeline.</p>
<p>Due to the expensiveness of computations and for the simplicity of usage, this
function is not idempotent because Interactive Beam automatically discards
previously tracked signature of transforms and tracks the current signature of
transforms for the user-defined pipeline if there is any change.</p>
<p>When it’s True, there is addition/deletion/mutation of source transforms that
requires a new background caching job.</p>
</dd></dl>
<dl class="function">
<dt id="apache_beam.runners.interactive.background_caching_job.extract_source_to_cache_signature">
<code class="descclassname">apache_beam.runners.interactive.background_caching_job.</code><code class="descname">extract_source_to_cache_signature</code><span class="sig-paren">(</span><em>user_pipeline</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/background_caching_job.html#extract_source_to_cache_signature"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.background_caching_job.extract_source_to_cache_signature" title="Permalink to this definition"></a></dt>
<dd><p>Extracts a set of signature for sources that need to be cached in the
user-defined pipeline.</p>
<p>A signature is a str representation of urn and payload of a source.</p>
</dd></dl>
</div>
</div>
<div class="articleComments">
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="apache_beam.runners.interactive.cache_manager.html" class="btn btn-neutral float-right" title="apache_beam.runners.interactive.cache_manager module" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="apache_beam.runners.interactive.testing.pipeline_assertion.html" class="btn btn-neutral" title="apache_beam.runners.interactive.testing.pipeline_assertion 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/snide/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">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./',
VERSION:'',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</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/js/theme.js"></script>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.StickyNav.enable();
});
</script>
</body>
</html>