blob: 0fb82f369d493f27c6e63f2dd328f18b448a7f6c [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.testing.benchmarks.nexmark.queries.winning_bids 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 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.testing.benchmarks.nexmark.monitor module" href="apache_beam.testing.benchmarks.nexmark.monitor.html" />
<link rel="prev" title="apache_beam.testing.benchmarks.nexmark.queries.query9 module" href="apache_beam.testing.benchmarks.nexmark.queries.query9.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.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.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 current"><a class="reference internal" href="apache_beam.testing.html">apache_beam.testing package</a><ul class="current">
<li class="toctree-l2 current"><a class="reference internal" href="apache_beam.testing.html#subpackages">Subpackages</a><ul class="current">
<li class="toctree-l3 current"><a class="reference internal" href="apache_beam.testing.benchmarks.html">apache_beam.testing.benchmarks package</a><ul class="current">
<li class="toctree-l4 current"><a class="reference internal" href="apache_beam.testing.benchmarks.html#subpackages">Subpackages</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.testing.load_tests.html">apache_beam.testing.load_tests package</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="apache_beam.testing.html#submodules">Submodules</a></li>
</ul>
</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" 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.testing.html">apache_beam.testing package</a> &raquo;</li>
<li><a href="apache_beam.testing.benchmarks.html">apache_beam.testing.benchmarks package</a> &raquo;</li>
<li><a href="apache_beam.testing.benchmarks.nexmark.html">apache_beam.testing.benchmarks.nexmark package</a> &raquo;</li>
<li><a href="apache_beam.testing.benchmarks.nexmark.queries.html">apache_beam.testing.benchmarks.nexmark.queries package</a> &raquo;</li>
<li>apache_beam.testing.benchmarks.nexmark.queries.winning_bids module</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/apache_beam.testing.benchmarks.nexmark.queries.winning_bids.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.testing.benchmarks.nexmark.queries.winning_bids">
<span id="apache-beam-testing-benchmarks-nexmark-queries-winning-bids-module"></span><h1>apache_beam.testing.benchmarks.nexmark.queries.winning_bids module<a class="headerlink" href="#module-apache_beam.testing.benchmarks.nexmark.queries.winning_bids" title="Permalink to this headline"></a></h1>
<p>A transform to find winning bids for each closed auction. In pseudo CQL syntax:</p>
<p>SELECT Rstream(A.*, B.auction, B.bidder, MAX(B.price), B.dateTime)
FROM Auction A [ROWS UNBOUNDED], Bid B [ROWS UNBOUNDED]
WHERE A.id = B.auction AND B.datetime &lt; A.expires AND A.expires &lt; CURRENT_TIME
GROUP BY A.id</p>
<p>We will also check that the winning bid is above the auction reserve. Note that
we ignore the auction opening bid value since it has no impact on which bid
eventually wins, if any.</p>
<p>Our implementation will use a custom windowing function in order to bring bids
and auctions together without requiring global state.</p>
<dl class="class">
<dt id="apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindow">
<em class="property">class </em><code class="descclassname">apache_beam.testing.benchmarks.nexmark.queries.winning_bids.</code><code class="descname">AuctionOrBidWindow</code><span class="sig-paren">(</span><em>start</em>, <em>end</em>, <em>auction_id</em>, <em>is_auction_window</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/testing/benchmarks/nexmark/queries/winning_bids.html#AuctionOrBidWindow"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindow" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="apache_beam.transforms.window.html#apache_beam.transforms.window.IntervalWindow" title="apache_beam.transforms.window.IntervalWindow"><code class="xref py py-class docutils literal notranslate"><span class="pre">apache_beam.transforms.window.IntervalWindow</span></code></a></p>
<p>Windows for open auctions and bids.</p>
<dl class="staticmethod">
<dt id="apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindow.for_auction">
<em class="property">static </em><code class="descname">for_auction</code><span class="sig-paren">(</span><em>timestamp</em>, <em>auction</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/testing/benchmarks/nexmark/queries/winning_bids.html#AuctionOrBidWindow.for_auction"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindow.for_auction" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="staticmethod">
<dt id="apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindow.for_bid">
<em class="property">static </em><code class="descname">for_bid</code><span class="sig-paren">(</span><em>expected_duration_micro</em>, <em>timestamp</em>, <em>bid</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/testing/benchmarks/nexmark/queries/winning_bids.html#AuctionOrBidWindow.for_bid"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindow.for_bid" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindow.is_auction_window_fn">
<code class="descname">is_auction_window_fn</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/testing/benchmarks/nexmark/queries/winning_bids.html#AuctionOrBidWindow.is_auction_window_fn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindow.is_auction_window_fn" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindowCoder">
<em class="property">class </em><code class="descclassname">apache_beam.testing.benchmarks.nexmark.queries.winning_bids.</code><code class="descname">AuctionOrBidWindowCoder</code><a class="reference internal" href="_modules/apache_beam/testing/benchmarks/nexmark/queries/winning_bids.html#AuctionOrBidWindowCoder"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindowCoder" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">apache_beam.coders.coders.FastCoder</span></code></p>
<dl class="method">
<dt id="apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindowCoder.is_deterministic">
<code class="descname">is_deterministic</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/testing/benchmarks/nexmark/queries/winning_bids.html#AuctionOrBidWindowCoder.is_deterministic"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindowCoder.is_deterministic" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindowCoderImpl">
<em class="property">class </em><code class="descclassname">apache_beam.testing.benchmarks.nexmark.queries.winning_bids.</code><code class="descname">AuctionOrBidWindowCoderImpl</code><a class="reference internal" href="_modules/apache_beam/testing/benchmarks/nexmark/queries/winning_bids.html#AuctionOrBidWindowCoderImpl"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindowCoderImpl" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">apache_beam.coders.coder_impl.StreamCoderImpl</span></code></p>
<dl class="method">
<dt id="apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindowCoderImpl.encode_to_stream">
<code class="descname">encode_to_stream</code><span class="sig-paren">(</span><em>value</em>, <em>stream</em>, <em>nested</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/testing/benchmarks/nexmark/queries/winning_bids.html#AuctionOrBidWindowCoderImpl.encode_to_stream"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindowCoderImpl.encode_to_stream" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindowCoderImpl.decode_from_stream">
<code class="descname">decode_from_stream</code><span class="sig-paren">(</span><em>stream</em>, <em>nested</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/testing/benchmarks/nexmark/queries/winning_bids.html#AuctionOrBidWindowCoderImpl.decode_from_stream"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindowCoderImpl.decode_from_stream" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindowFn">
<em class="property">class </em><code class="descclassname">apache_beam.testing.benchmarks.nexmark.queries.winning_bids.</code><code class="descname">AuctionOrBidWindowFn</code><span class="sig-paren">(</span><em>expected_duration_micro</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/testing/benchmarks/nexmark/queries/winning_bids.html#AuctionOrBidWindowFn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindowFn" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="apache_beam.transforms.window.html#apache_beam.transforms.window.WindowFn" title="apache_beam.transforms.window.WindowFn"><code class="xref py py-class docutils literal notranslate"><span class="pre">apache_beam.transforms.window.WindowFn</span></code></a></p>
<dl class="method">
<dt id="apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindowFn.assign">
<code class="descname">assign</code><span class="sig-paren">(</span><em>assign_context</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/testing/benchmarks/nexmark/queries/winning_bids.html#AuctionOrBidWindowFn.assign"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindowFn.assign" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindowFn.merge">
<code class="descname">merge</code><span class="sig-paren">(</span><em>merge_context</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/testing/benchmarks/nexmark/queries/winning_bids.html#AuctionOrBidWindowFn.merge"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindowFn.merge" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindowFn.get_window_coder">
<code class="descname">get_window_coder</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/testing/benchmarks/nexmark/queries/winning_bids.html#AuctionOrBidWindowFn.get_window_coder"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindowFn.get_window_coder" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindowFn.get_transformed_output_time">
<code class="descname">get_transformed_output_time</code><span class="sig-paren">(</span><em>window</em>, <em>input_timestamp</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/testing/benchmarks/nexmark/queries/winning_bids.html#AuctionOrBidWindowFn.get_transformed_output_time"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.testing.benchmarks.nexmark.queries.winning_bids.AuctionOrBidWindowFn.get_transformed_output_time" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="apache_beam.testing.benchmarks.nexmark.queries.winning_bids.JoinAuctionBidFn">
<em class="property">class </em><code class="descclassname">apache_beam.testing.benchmarks.nexmark.queries.winning_bids.</code><code class="descname">JoinAuctionBidFn</code><span class="sig-paren">(</span><em>*unused_args</em>, <em>**unused_kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/testing/benchmarks/nexmark/queries/winning_bids.html#JoinAuctionBidFn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.testing.benchmarks.nexmark.queries.winning_bids.JoinAuctionBidFn" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="apache_beam.transforms.core.html#apache_beam.transforms.core.DoFn" title="apache_beam.transforms.core.DoFn"><code class="xref py py-class docutils literal notranslate"><span class="pre">apache_beam.transforms.core.DoFn</span></code></a></p>
<dl class="staticmethod">
<dt id="apache_beam.testing.benchmarks.nexmark.queries.winning_bids.JoinAuctionBidFn.higher_bid">
<em class="property">static </em><code class="descname">higher_bid</code><span class="sig-paren">(</span><em>bid</em>, <em>other</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/testing/benchmarks/nexmark/queries/winning_bids.html#JoinAuctionBidFn.higher_bid"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.testing.benchmarks.nexmark.queries.winning_bids.JoinAuctionBidFn.higher_bid" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="apache_beam.testing.benchmarks.nexmark.queries.winning_bids.JoinAuctionBidFn.process">
<code class="descname">process</code><span class="sig-paren">(</span><em>element</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/testing/benchmarks/nexmark/queries/winning_bids.html#JoinAuctionBidFn.process"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.testing.benchmarks.nexmark.queries.winning_bids.JoinAuctionBidFn.process" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="apache_beam.testing.benchmarks.nexmark.queries.winning_bids.WinningBids">
<em class="property">class </em><code class="descclassname">apache_beam.testing.benchmarks.nexmark.queries.winning_bids.</code><code class="descname">WinningBids</code><a class="reference internal" href="_modules/apache_beam/testing/benchmarks/nexmark/queries/winning_bids.html#WinningBids"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.testing.benchmarks.nexmark.queries.winning_bids.WinningBids" 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>
<dl class="method">
<dt id="apache_beam.testing.benchmarks.nexmark.queries.winning_bids.WinningBids.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/testing/benchmarks/nexmark/queries/winning_bids.html#WinningBids.expand"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.testing.benchmarks.nexmark.queries.winning_bids.WinningBids.expand" 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.testing.benchmarks.nexmark.monitor.html" class="btn btn-neutral float-right" title="apache_beam.testing.benchmarks.nexmark.monitor module" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="apache_beam.testing.benchmarks.nexmark.queries.query9.html" class="btn btn-neutral float-left" title="apache_beam.testing.benchmarks.nexmark.queries.query9 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>