

<!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.user_pipeline_tracker 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.runners.interactive.utils module" href="apache_beam.runners.interactive.utils.html" />
    <link rel="prev" title="apache_beam.runners.interactive.recording_manager module" href="apache_beam.runners.interactive.recording_manager.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"><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"><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.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>apache_beam.runners.interactive.user_pipeline_tracker module</li>
    
    
      <li class="wy-breadcrumbs-aside">
        
            
            <a href="_sources/apache_beam.runners.interactive.user_pipeline_tracker.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.user_pipeline_tracker">
<span id="apache-beam-runners-interactive-user-pipeline-tracker-module"></span><h1>apache_beam.runners.interactive.user_pipeline_tracker module<a class="headerlink" href="#module-apache_beam.runners.interactive.user_pipeline_tracker" title="Permalink to this headline">¶</a></h1>
<p>Class that tracks derived/pipeline fragments from user pipelines.</p>
<p>For internal use only; no backwards-compatibility guarantees.
In the InteractiveRunner the design is to keep the user pipeline unchanged,
create a copy of the user pipeline, and modify the copy. When the derived
pipeline runs, there should only be per-user pipeline state. This makes sure
that derived pipelines can link back to the parent user pipeline.</p>
<dl class="class">
<dt id="apache_beam.runners.interactive.user_pipeline_tracker.UserPipelineTracker">
<em class="property">class </em><code class="descclassname">apache_beam.runners.interactive.user_pipeline_tracker.</code><code class="descname">UserPipelineTracker</code><a class="reference internal" href="_modules/apache_beam/runners/interactive/user_pipeline_tracker.html#UserPipelineTracker"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.user_pipeline_tracker.UserPipelineTracker" 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>Tracks user pipelines from derived pipelines.</p>
<p>This data structure is similar to a disjoint set data structure. A derived
pipeline can only have one parent user pipeline. A user pipeline can have many
derived pipelines.</p>
<dl class="method">
<dt id="apache_beam.runners.interactive.user_pipeline_tracker.UserPipelineTracker.evict">
<code class="descname">evict</code><span class="sig-paren">(</span><em>pipeline: apache_beam.pipeline.Pipeline</em><span class="sig-paren">)</span> &#x2192; None<a class="reference internal" href="_modules/apache_beam/runners/interactive/user_pipeline_tracker.html#UserPipelineTracker.evict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.user_pipeline_tracker.UserPipelineTracker.evict" title="Permalink to this definition">¶</a></dt>
<dd><p>Evicts the pipeline.</p>
<p>Removes the given pipeline and derived pipelines if a user pipeline.
Otherwise, removes the given derived pipeline.</p>
</dd></dl>

<dl class="method">
<dt id="apache_beam.runners.interactive.user_pipeline_tracker.UserPipelineTracker.clear">
<code class="descname">clear</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; None<a class="reference internal" href="_modules/apache_beam/runners/interactive/user_pipeline_tracker.html#UserPipelineTracker.clear"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.user_pipeline_tracker.UserPipelineTracker.clear" title="Permalink to this definition">¶</a></dt>
<dd><p>Clears the tracker of all user and derived pipelines.</p>
</dd></dl>

<dl class="method">
<dt id="apache_beam.runners.interactive.user_pipeline_tracker.UserPipelineTracker.get_pipeline">
<code class="descname">get_pipeline</code><span class="sig-paren">(</span><em>pid: str</em><span class="sig-paren">)</span> &#x2192; Optional[apache_beam.pipeline.Pipeline]<a class="reference internal" href="_modules/apache_beam/runners/interactive/user_pipeline_tracker.html#UserPipelineTracker.get_pipeline"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.user_pipeline_tracker.UserPipelineTracker.get_pipeline" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the pipeline corresponding to the given pipeline id.</p>
</dd></dl>

<dl class="method">
<dt id="apache_beam.runners.interactive.user_pipeline_tracker.UserPipelineTracker.add_user_pipeline">
<code class="descname">add_user_pipeline</code><span class="sig-paren">(</span><em>p: apache_beam.pipeline.Pipeline</em><span class="sig-paren">)</span> &#x2192; apache_beam.pipeline.Pipeline<a class="reference internal" href="_modules/apache_beam/runners/interactive/user_pipeline_tracker.html#UserPipelineTracker.add_user_pipeline"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.user_pipeline_tracker.UserPipelineTracker.add_user_pipeline" title="Permalink to this definition">¶</a></dt>
<dd><p>Adds a user pipeline with an empty set of derived pipelines.</p>
</dd></dl>

<dl class="method">
<dt id="apache_beam.runners.interactive.user_pipeline_tracker.UserPipelineTracker.add_derived_pipeline">
<code class="descname">add_derived_pipeline</code><span class="sig-paren">(</span><em>maybe_user_pipeline: apache_beam.pipeline.Pipeline</em>, <em>derived_pipeline: apache_beam.pipeline.Pipeline</em><span class="sig-paren">)</span> &#x2192; None<a class="reference internal" href="_modules/apache_beam/runners/interactive/user_pipeline_tracker.html#UserPipelineTracker.add_derived_pipeline"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.user_pipeline_tracker.UserPipelineTracker.add_derived_pipeline" title="Permalink to this definition">¶</a></dt>
<dd><p>Adds a derived pipeline with the user pipeline.</p>
<p>If the <cite>maybe_user_pipeline</cite> is a user pipeline, then the derived pipeline
will be added to its set. Otherwise, the derived pipeline will be added to
the user pipeline of the <cite>maybe_user_pipeline</cite>.</p>
<p>By doing the above one can do:
p = beam.Pipeline()</p>
<p>derived1 = beam.Pipeline()
derived2 = beam.Pipeline()</p>
<p>ut = UserPipelineTracker()
ut.add_derived_pipeline(p, derived1)
ut.add_derived_pipeline(derived1, derived2)</p>
<p># Returns p.
ut.get_user_pipeline(derived2)</p>
</dd></dl>

<dl class="method">
<dt id="apache_beam.runners.interactive.user_pipeline_tracker.UserPipelineTracker.get_user_pipeline">
<code class="descname">get_user_pipeline</code><span class="sig-paren">(</span><em>p: apache_beam.pipeline.Pipeline</em><span class="sig-paren">)</span> &#x2192; Optional[apache_beam.pipeline.Pipeline]<a class="reference internal" href="_modules/apache_beam/runners/interactive/user_pipeline_tracker.html#UserPipelineTracker.get_user_pipeline"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.user_pipeline_tracker.UserPipelineTracker.get_user_pipeline" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the user pipeline of the given pipeline.</p>
<p>If the given pipeline has no user pipeline, i.e. not added to this tracker,
then this returns None. If the given pipeline is a user pipeline then this
returns the same pipeline. If the given pipeline is a derived pipeline then
this returns the user pipeline.</p>
</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.utils.html" class="btn btn-neutral float-right" title="apache_beam.runners.interactive.utils module" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
      
      
        <a href="apache_beam.runners.interactive.recording_manager.html" class="btn btn-neutral float-left" title="apache_beam.runners.interactive.recording_manager 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>