blob: b08bd99f0cff7665cdb7655dd058512c8ad6dcfa [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.19"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Kudu C++ client API: kudu::client::KuduTableCreator Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Kudu C++ client API
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.19 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>kudu</b></li><li class="navelem"><b>client</b></li><li class="navelem"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classkudu_1_1client_1_1KuduTableCreator-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">kudu::client::KuduTableCreator Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>A helper class to create a new table with the desired options.
<a href="classkudu_1_1client_1_1KuduTableCreator.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="client_8h_source.html">client.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a0a63fdc58e8062e505f4fa71d6f2343b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a> { <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">EXCLUSIVE_BOUND</a>,
<a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">INCLUSIVE_BOUND</a>
}</td></tr>
<tr class="memdesc:a0a63fdc58e8062e505f4fa71d6f2343b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Range partition bound type. <a href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">More...</a><br /></td></tr>
<tr class="separator:a0a63fdc58e8062e505f4fa71d6f2343b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a15126b62437fc1741b41249080376f93"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93">table_name</a> (const std::string &amp;name)</td></tr>
<tr class="separator:a15126b62437fc1741b41249080376f93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38a83cf0e856ebaf4a5afe8c4a1d06f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7">schema</a> (const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> *schema)</td></tr>
<tr class="separator:a38a83cf0e856ebaf4a5afe8c4a1d06f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a989ccdb9b6f4186d3227d3811048538e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a989ccdb9b6f4186d3227d3811048538e">add_hash_partitions</a> (const std::vector&lt; std::string &gt; &amp;columns, int32_t num_buckets)</td></tr>
<tr class="separator:a989ccdb9b6f4186d3227d3811048538e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cdcee398f94af53d721e3d085929d24"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a9cdcee398f94af53d721e3d085929d24">add_hash_partitions</a> (const std::vector&lt; std::string &gt; &amp;columns, int32_t num_buckets, int32_t seed)</td></tr>
<tr class="separator:a9cdcee398f94af53d721e3d085929d24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a482701285b7a071dd56f04df480bc7c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a482701285b7a071dd56f04df480bc7c3">set_range_partition_columns</a> (const std::vector&lt; std::string &gt; &amp;columns)</td></tr>
<tr class="separator:a482701285b7a071dd56f04df480bc7c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac3d941bf3b381c08f64ed919680984a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#aac3d941bf3b381c08f64ed919680984a">add_range_partition</a> (<a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *lower_bound, <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *upper_bound, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a> lower_bound_type=<a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">INCLUSIVE_BOUND</a>, <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a> upper_bound_type=<a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">EXCLUSIVE_BOUND</a>)</td></tr>
<tr class="separator:aac3d941bf3b381c08f64ed919680984a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbdd2208d9ede696704fbecea15bea1f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f">add_range_partition_split</a> (<a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *split_row)</td></tr>
<tr class="separator:adbdd2208d9ede696704fbecea15bea1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadb48996ad9e16efbae069ee87174007"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#aadb48996ad9e16efbae069ee87174007">set_owner</a> (const std::string &amp;owner)</td></tr>
<tr class="separator:aadb48996ad9e16efbae069ee87174007"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae12cc7c72da40f25b079273a6169faf9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#ae12cc7c72da40f25b079273a6169faf9">split_rows</a> (const std::vector&lt; const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> * &gt; &amp;split_rows) ATTRIBUTE_DEPRECATED(&quot;use <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f">add_range_partition_split</a>() instead&quot;)</td></tr>
<tr class="separator:ae12cc7c72da40f25b079273a6169faf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9dd4673755ba242eab3f06b19182d139"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a9dd4673755ba242eab3f06b19182d139">num_replicas</a> (int n_replicas)</td></tr>
<tr class="separator:a9dd4673755ba242eab3f06b19182d139"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0e832f6d358f9572ee1cf7f755e1658"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#af0e832f6d358f9572ee1cf7f755e1658">dimension_label</a> (const std::string &amp;dimension_label)</td></tr>
<tr class="separator:af0e832f6d358f9572ee1cf7f755e1658"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fe4f05dab63be87058b81f1b380f2cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0fe4f05dab63be87058b81f1b380f2cd">extra_configs</a> (const std::map&lt; std::string, std::string &gt; &amp;extra_configs)</td></tr>
<tr class="separator:a0fe4f05dab63be87058b81f1b380f2cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52855857927fe1a08fbd4c81e746c235"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a52855857927fe1a08fbd4c81e746c235">timeout</a> (const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;timeout)</td></tr>
<tr class="separator:a52855857927fe1a08fbd4c81e746c235"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48f9e977356c37666106f303100198d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a48f9e977356c37666106f303100198d9">wait</a> (bool wait)</td></tr>
<tr class="separator:a48f9e977356c37666106f303100198d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30efad5c256dae0af7bb43599403b1cc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classkudu_1_1Status.html">Status</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc">Create</a> ()</td></tr>
<tr class="separator:a30efad5c256dae0af7bb43599403b1cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A helper class to create a new table with the desired options. </p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="a0a63fdc58e8062e505f4fa71d6f2343b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a63fdc58e8062e505f4fa71d6f2343b">&#9670;&nbsp;</a></span>RangePartitionBound</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">kudu::client::KuduTableCreator::RangePartitionBound</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Range partition bound type. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601"></a>EXCLUSIVE_BOUND&#160;</td><td class="fielddoc"><p>An exclusive bound. </p>
</td></tr>
<tr><td class="fieldname"><a id="a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950"></a>INCLUSIVE_BOUND&#160;</td><td class="fielddoc"><p>An inclusive bound. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a989ccdb9b6f4186d3227d3811048538e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a989ccdb9b6f4186d3227d3811048538e">&#9670;&nbsp;</a></span>add_hash_partitions() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::add_hash_partitions </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
<td class="paramname"><em>columns</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>num_buckets</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a set of hash partitions to the table.</p>
<p>Tables must be created with either range, hash, or range and hash partitioning.</p>
<p>For each set of hash partitions added to the table, the total number of tablets is multiplied by the number of buckets. For example, if a table is created with 3 split rows, and 2 hash partitions with 4 and 5 buckets respectively, the total number of tablets will be 80 (4 range partitions * 4 hash buckets * 5 hash buckets).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">columns</td><td>Names of columns to use for partitioning. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">num_buckets</td><td>Number of buckets for the hashing. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
</div>
</div>
<a id="a9cdcee398f94af53d721e3d085929d24"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9cdcee398f94af53d721e3d085929d24">&#9670;&nbsp;</a></span>add_hash_partitions() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::add_hash_partitions </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
<td class="paramname"><em>columns</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>num_buckets</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t&#160;</td>
<td class="paramname"><em>seed</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a set of hash partitions to the table (with seed).</p>
<p>This method is exactly the same as <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a989ccdb9b6f4186d3227d3811048538e">add_hash_partitions()</a> above, with the exception of additional seed value, which can be used to randomize the mapping of rows to hash buckets. Setting the seed may provide some amount of protection against denial of service attacks when the hashed columns contain user provided values.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">columns</td><td>Names of columns to use for partitioning. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">num_buckets</td><td>Number of buckets for the hashing. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">seed</td><td>Hash: seed for mapping rows to hash buckets. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
</div>
</div>
<a id="aac3d941bf3b381c08f64ed919680984a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac3d941bf3b381c08f64ed919680984a">&#9670;&nbsp;</a></span>add_range_partition()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::add_range_partition </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td>
<td class="paramname"><em>lower_bound</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td>
<td class="paramname"><em>upper_bound</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a>&#160;</td>
<td class="paramname"><em>lower_bound_type</em> = <code><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343ba0f4899cc63fba167455e05b525f0b950">INCLUSIVE_BOUND</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343b">RangePartitionBound</a>&#160;</td>
<td class="paramname"><em>upper_bound_type</em> = <code><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a0a63fdc58e8062e505f4fa71d6f2343baa117961e0003fd28663861833d23e601">EXCLUSIVE_BOUND</a></code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a range partition to the table.</p>
<p>Multiple range partitions may be added, but they must not overlap. All range splits specified by <code>add_range_partition_split</code> must fall in a range partition. The lower bound must be less than or equal to the upper bound.</p>
<p>If this method is not called, the table's range will be unbounded.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">lower_bound</td><td>Row to use as a lower bound. The <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a> instance takes ownership of this parameter. If row is empty, no lower bound is imposed on the table range. If a column of the <code>lower_bound</code> row is missing a value, the logical minimum value for that column type is used as the default. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">upper_bound</td><td>Row to use as an upper bound. The <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a> instance takes ownership of this parameter. If row is empty, no upper bound is imposed on the table range. If a column of the <code>upper_bound</code> row is missing a value, the logical maximum value for that column type is used as the default. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">lower_bound_type</td><td>The type of the lower bound, either inclusive or exclusive. Defaults to inclusive. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">upper_bound_type</td><td>The type of the lower bound, either inclusive or exclusive. Defaults to exclusive. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
</div>
</div>
<a id="adbdd2208d9ede696704fbecea15bea1f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adbdd2208d9ede696704fbecea15bea1f">&#9670;&nbsp;</a></span>add_range_partition_split()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::add_range_partition_split </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> *&#160;</td>
<td class="paramname"><em>split_row</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a range partition split at the provided row.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">split_row</td><td>The row to use for partitioning. If the row is missing a value for any of the range partition columns, the logical minimum value for that column type will be used by default. The <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a> object takes ownership of the parameter. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
</div>
</div>
<a id="a30efad5c256dae0af7bb43599403b1cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30efad5c256dae0af7bb43599403b1cc">&#9670;&nbsp;</a></span>Create()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1Status.html">Status</a> kudu::client::KuduTableCreator::Create </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a table in accordance with parameters currently set for the <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a> instance. Once created, the table handle can be obtained using <a class="el" href="classkudu_1_1client_1_1KuduClient.html#aa82a09718ffe68d3255195e736aec8d7">KuduClient::OpenTable()</a> method.</p>
<dl class="section pre"><dt>Precondition</dt><dd>The following methods of the <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html" title="A helper class to create a new table with the desired options.">KuduTableCreator</a> must be called prior to invoking this method: <ul>
<li><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a15126b62437fc1741b41249080376f93">table_name()</a> </li>
<li><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a38a83cf0e856ebaf4a5afe8c4a1d06f7">schema()</a></li>
</ul>
</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>Result status of the <code>CREATE TABLE</code> operation. The return value may indicate an error in the create table operation, or a misuse of the builder. In the latter case, only the last error is returned. </dd></dl>
</div>
</div>
<a id="af0e832f6d358f9572ee1cf7f755e1658"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0e832f6d358f9572ee1cf7f755e1658">&#9670;&nbsp;</a></span>dimension_label()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::dimension_label </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>dimension_label</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the dimension label for all tablets created at table creation time.</p>
<dl class="section note"><dt>Note</dt><dd>By default, the master will try to place newly created tablet replicas on tablet servers with a small number of tablet replicas. If the dimension label is provided, newly created replicas will be evenly distributed in the cluster based on the dimension label. In other words, the master will try to place newly created tablet replicas on tablet servers with a small number of tablet replicas belonging to this dimension label.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">dimension_label</td><td>The dimension label for the tablet to be created. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
</div>
</div>
<a id="a0fe4f05dab63be87058b81f1b380f2cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0fe4f05dab63be87058b81f1b380f2cd">&#9670;&nbsp;</a></span>extra_configs()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::extra_configs </td>
<td>(</td>
<td class="paramtype">const std::map&lt; std::string, std::string &gt; &amp;&#160;</td>
<td class="paramname"><em>extra_configs</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the table's extra configuration properties.</p>
<p>If the value of the kv pair is empty, the property will be ignored.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">extra_configs</td><td>The table's extra configuration properties. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
</div>
</div>
<a id="a9dd4673755ba242eab3f06b19182d139"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9dd4673755ba242eab3f06b19182d139">&#9670;&nbsp;</a></span>num_replicas()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::num_replicas </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>n_replicas</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the table replication factor.</p>
<p>Replicated tables can continue to read and write data while a majority of replicas are not failed.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">n_replicas</td><td>Number of replicas to set. This should be an odd number. If not provided (or if &lt;= 0), falls back to the server-side default. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
</div>
</div>
<a id="a38a83cf0e856ebaf4a5afe8c4a1d06f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38a83cf0e856ebaf4a5afe8c4a1d06f7">&#9670;&nbsp;</a></span>schema()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::schema </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classkudu_1_1client_1_1KuduSchema.html">KuduSchema</a> *&#160;</td>
<td class="paramname"><em>schema</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the schema with which to create the table.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">schema</td><td>Schema to use. Must remain valid for the lifetime of the builder. Must be non-NULL. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator.</dd></dl>
<dl class="section remark"><dt>Remarks</dt><dd>Calling this method and setting schema for the table-to-be is one of the pre-conditions for calling <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc">KuduTableCreator::Create()</a> method. </dd></dl>
</div>
</div>
<a id="aadb48996ad9e16efbae069ee87174007"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadb48996ad9e16efbae069ee87174007">&#9670;&nbsp;</a></span>set_owner()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::set_owner </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>owner</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the table owner.</p>
<p>If unspecified, the owner will be the user creating the table.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">owner</td><td>The username of the table owner. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
</div>
</div>
<a id="a482701285b7a071dd56f04df480bc7c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a482701285b7a071dd56f04df480bc7c3">&#9670;&nbsp;</a></span>set_range_partition_columns()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::set_range_partition_columns </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; std::string &gt; &amp;&#160;</td>
<td class="paramname"><em>columns</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the columns on which the table will be range-partitioned.</p>
<p>Tables must be created with either range, hash, or range and hash partitioning. To force the use of a single tablet (not recommended), call this method with an empty vector and set no split rows and no hash partitions.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">columns</td><td>Names of columns to use for partitioning. Every column must be a part of the table's primary key. If not set, or if called with an empty vector, the table will be created without range partitioning. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
</div>
</div>
<a id="ae12cc7c72da40f25b079273a6169faf9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae12cc7c72da40f25b079273a6169faf9">&#9670;&nbsp;</a></span>split_rows()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::split_rows </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; const <a class="el" href="classKuduPartialRow.html">KuduPartialRow</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>split_rows</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>Use <code><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#adbdd2208d9ede696704fbecea15bea1f">add_range_partition_split()</a></code> instead.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">split_rows</td><td>The row to use for partitioning. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
</div>
</div>
<a id="a15126b62437fc1741b41249080376f93"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15126b62437fc1741b41249080376f93">&#9670;&nbsp;</a></span>table_name()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::table_name </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set name for the table.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">name</td><td>Name of the target table. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator.</dd></dl>
<dl class="section remark"><dt>Remarks</dt><dd>Calling this method and setting the name for the table-to-be is one of the pre-conditions for calling <a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html#a30efad5c256dae0af7bb43599403b1cc">KuduTableCreator::Create()</a> method.</dd></dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000004">Todo:</a></b></dt><dd>Should name of the table be a constructor's parameter instead? </dd></dl>
</div>
</div>
<a id="a52855857927fe1a08fbd4c81e746c235"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52855857927fe1a08fbd4c81e746c235">&#9670;&nbsp;</a></span>timeout()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::timeout </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classkudu_1_1MonoDelta.html">MonoDelta</a> &amp;&#160;</td>
<td class="paramname"><em>timeout</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the timeout for the table creation operation.</p>
<p>This includes any waiting after the create has been submitted (i.e. if the create is slow to be performed for a large table, it may time out and then later be successful).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td>Timeout to set. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
</div>
</div>
<a id="a48f9e977356c37666106f303100198d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48f9e977356c37666106f303100198d9">&#9670;&nbsp;</a></span>wait()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classkudu_1_1client_1_1KuduTableCreator.html">KuduTableCreator</a>&amp; kudu::client::KuduTableCreator::wait </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>wait</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Wait for the table to be fully created before returning.</p>
<p>If not called, defaults to <code>true</code>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">wait</td><td>Whether to wait for completion of operations. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to the modified table creator. </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/kudu/client/<a class="el" href="client_8h_source.html">client.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/>
<address class="footer">
<small>Generated for Kudu version 1.13.0 on Fri Sep 18 2020 15:03:20 by Doxygen 1.8.19</small>
<br>
<small>Copyright © 2020 The Apache Software Foundation.</small>
</address>
</body>
</html>