blob: 87b008a41e72133c8f869805e19097d4362831ab [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.io.gcp.datastore.v1new.query_splitter 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.io.gcp.datastore.v1new.rampup_throttling_fn module" href="apache_beam.io.gcp.datastore.v1new.rampup_throttling_fn.html" />
<link rel="prev" title="apache_beam.io.gcp.datastore.v1new.helper module" href="apache_beam.io.gcp.datastore.v1new.helper.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 current"><a class="reference internal" href="apache_beam.io.html">apache_beam.io package</a><ul class="current">
<li class="toctree-l2 current"><a class="reference internal" href="apache_beam.io.html#subpackages">Subpackages</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.aws.html">apache_beam.io.aws package</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.azure.html">apache_beam.io.azure package</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.external.html">apache_beam.io.external package</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.io.flink.html">apache_beam.io.flink package</a></li>
<li class="toctree-l3 current"><a class="reference internal" href="apache_beam.io.gcp.html">apache_beam.io.gcp package</a><ul class="current">
<li class="toctree-l4 current"><a class="reference internal" href="apache_beam.io.gcp.html#subpackages">Subpackages</a></li>
<li class="toctree-l4"><a class="reference internal" href="apache_beam.io.gcp.html#submodules">Submodules</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="apache_beam.io.html#submodules">Submodules</a></li>
</ul>
</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"><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.io.html">apache_beam.io package</a> &raquo;</li>
<li><a href="apache_beam.io.gcp.html">apache_beam.io.gcp package</a> &raquo;</li>
<li><a href="apache_beam.io.gcp.datastore.html">apache_beam.io.gcp.datastore package</a> &raquo;</li>
<li><a href="apache_beam.io.gcp.datastore.v1new.html">apache_beam.io.gcp.datastore.v1new package</a> &raquo;</li>
<li>apache_beam.io.gcp.datastore.v1new.query_splitter module</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/apache_beam.io.gcp.datastore.v1new.query_splitter.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.io.gcp.datastore.v1new.query_splitter">
<span id="apache-beam-io-gcp-datastore-v1new-query-splitter-module"></span><h1>apache_beam.io.gcp.datastore.v1new.query_splitter module<a class="headerlink" href="#module-apache_beam.io.gcp.datastore.v1new.query_splitter" title="Permalink to this headline"></a></h1>
<p>Implements a Cloud Datastore query splitter.</p>
<p>For internal use only. No backwards compatibility guarantees.</p>
<dl class="exception">
<dt id="apache_beam.io.gcp.datastore.v1new.query_splitter.QuerySplitterError">
<em class="property">exception </em><code class="descclassname">apache_beam.io.gcp.datastore.v1new.query_splitter.</code><code class="descname">QuerySplitterError</code><a class="reference internal" href="_modules/apache_beam/io/gcp/datastore/v1new/query_splitter.html#QuerySplitterError"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.gcp.datastore.v1new.query_splitter.QuerySplitterError" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.9)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a></p>
<p>Top-level error type.</p>
</dd></dl>
<dl class="exception">
<dt id="apache_beam.io.gcp.datastore.v1new.query_splitter.SplitNotPossibleError">
<em class="property">exception </em><code class="descclassname">apache_beam.io.gcp.datastore.v1new.query_splitter.</code><code class="descname">SplitNotPossibleError</code><a class="reference internal" href="_modules/apache_beam/io/gcp/datastore/v1new/query_splitter.html#SplitNotPossibleError"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.gcp.datastore.v1new.query_splitter.SplitNotPossibleError" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#apache_beam.io.gcp.datastore.v1new.query_splitter.QuerySplitterError" title="apache_beam.io.gcp.datastore.v1new.query_splitter.QuerySplitterError"><code class="xref py py-class docutils literal notranslate"><span class="pre">apache_beam.io.gcp.datastore.v1new.query_splitter.QuerySplitterError</span></code></a></p>
<p>Raised when some parameter of the query does not allow splitting.</p>
</dd></dl>
<dl class="function">
<dt id="apache_beam.io.gcp.datastore.v1new.query_splitter.get_splits">
<code class="descclassname">apache_beam.io.gcp.datastore.v1new.query_splitter.</code><code class="descname">get_splits</code><span class="sig-paren">(</span><em>client</em>, <em>query</em>, <em>num_splits</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/io/gcp/datastore/v1new/query_splitter.html#get_splits"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.io.gcp.datastore.v1new.query_splitter.get_splits" title="Permalink to this definition"></a></dt>
<dd><p>Returns a list of sharded queries for the given Cloud Datastore query.</p>
<p>This will create up to the desired number of splits, however it may return
less splits if the desired number of splits is unavailable. This will happen
if the number of split points provided by the underlying Datastore is less
than the desired number, which will occur if the number of results for the
query is too small.</p>
<p>This implementation of the QuerySplitter uses the __scatter__ property to
gather random split points for a query.</p>
<p>Note: This implementation is derived from the java query splitter in
<a class="reference external" href="https://github.com/GoogleCloudPlatform/google-cloud-datastore/blob/master/java/datastore/src/main/java/com/google/datastore/v1/client/QuerySplitterImpl.java">https://github.com/GoogleCloudPlatform/google-cloud-datastore/blob/master/java/datastore/src/main/java/com/google/datastore/v1/client/QuerySplitterImpl.java</a></p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>client</strong> – the datastore client.</li>
<li><strong>query</strong> – the query to split.</li>
<li><strong>num_splits</strong> – the desired number of splits.</li>
</ul>
</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">A list of split queries, of a max length of <cite>num_splits</cite></p>
</td>
</tr>
<tr class="field-odd field"><th class="field-name">Raises:</th><td class="field-body"><p class="first last"><a class="reference internal" href="#apache_beam.io.gcp.datastore.v1new.query_splitter.QuerySplitterError" title="apache_beam.io.gcp.datastore.v1new.query_splitter.QuerySplitterError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">QuerySplitterError</span></code></a> – if split could not be performed owing to query or split
parameters.</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="apache_beam.io.gcp.datastore.v1new.rampup_throttling_fn.html" class="btn btn-neutral float-right" title="apache_beam.io.gcp.datastore.v1new.rampup_throttling_fn module" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="apache_beam.io.gcp.datastore.v1new.helper.html" class="btn btn-neutral float-left" title="apache_beam.io.gcp.datastore.v1new.helper 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>