blob: 4b2baa3dae3f81db31b0454d49ee7fa51c0c4cde [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>sstablesplit &mdash; Apache Cassandra Documentation v4.0-rc2</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="stylesheet" href="../../_static/extra.css" type="text/css" />
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
<link rel="next" title="sstableupgrade" href="sstableupgrade.html" />
<link rel="prev" title="sstablescrub" href="sstablescrub.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 Cassandra
</a>
<div class="version">
4.0-rc2
</div>
<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="../../getting_started/index.html">Getting Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../new/index.html">New Features in Apache Cassandra 4.0</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../architecture/index.html">Architecture</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../cql/index.html">The Cassandra Query Language (CQL)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../data_modeling/index.html">Data Modeling</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../configuration/index.html">Configuring Cassandra</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../operating/index.html">Operating Cassandra</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Cassandra Tools</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../cqlsh.html">cqlsh: the CQL shell</a></li>
<li class="toctree-l2"><a class="reference internal" href="../generatetokens.html">generatetokens</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nodetool/nodetool.html">Nodetool</a></li>
<li class="toctree-l2"><a class="reference internal" href="../nodetool/nodetool.html#usage">Usage</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="index.html">SSTable Tools</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="sstabledump.html">sstabledump</a></li>
<li class="toctree-l3"><a class="reference internal" href="sstableexpiredblockers.html">sstableexpiredblockers</a></li>
<li class="toctree-l3"><a class="reference internal" href="sstablelevelreset.html">sstablelevelreset</a></li>
<li class="toctree-l3"><a class="reference internal" href="sstableloader.html">sstableloader</a></li>
<li class="toctree-l3"><a class="reference internal" href="sstablemetadata.html">sstablemetadata</a></li>
<li class="toctree-l3"><a class="reference internal" href="sstableofflinerelevel.html">sstableofflinerelevel</a></li>
<li class="toctree-l3"><a class="reference internal" href="sstablerepairedset.html">sstablerepairedset</a></li>
<li class="toctree-l3"><a class="reference internal" href="sstablescrub.html">sstablescrub</a></li>
<li class="toctree-l3 current"><a class="current reference internal" href="#">sstablesplit</a><ul>
<li class="toctree-l4"><a class="reference internal" href="#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="#split-a-file">Split a File</a></li>
<li class="toctree-l4"><a class="reference internal" href="#split-multiple-files">Split Multiple Files</a></li>
<li class="toctree-l4"><a class="reference internal" href="#attempt-to-split-a-small-file">Attempt to Split a Small File</a></li>
<li class="toctree-l4"><a class="reference internal" href="#split-a-file-into-specified-size">Split a File into Specified Size</a></li>
<li class="toctree-l4"><a class="reference internal" href="#split-without-snapshot">Split Without Snapshot</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="sstableupgrade.html">sstableupgrade</a></li>
<li class="toctree-l3"><a class="reference internal" href="sstableutil.html">sstableutil</a></li>
<li class="toctree-l3"><a class="reference internal" href="sstableverify.html">sstableverify</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../cassandra_stress.html">Cassandra Stress</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../troubleshooting/index.html">Troubleshooting</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/index.html">Contributing to Cassandra</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../faq/index.html">Frequently Asked Questions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../plugins/index.html">Third-Party Plugins</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../bugs.html">Reporting Bugs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../contactus.html">Contact us</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 Cassandra</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="../index.html">Cassandra Tools</a> &raquo;</li>
<li><a href="index.html">SSTable Tools</a> &raquo;</li>
<li>sstablesplit</li>
<li class="wy-breadcrumbs-aside">
<a href="../../_sources/tools/sstable/sstablesplit.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="sstablesplit">
<h1>sstablesplit<a class="headerlink" href="#sstablesplit" title="Permalink to this headline"></a></h1>
<p>Big sstable files can take up a lot of disk space. The sstablesplit tool can be used to split those large files into smaller files. It can be thought of as a type of anticompaction.</p>
<p>ref: <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-4766">https://issues.apache.org/jira/browse/CASSANDRA-4766</a></p>
<p>Cassandra must be stopped before this tool is executed, or unexpected results will occur. Note: the script does not verify that Cassandra is stopped.</p>
<div class="section" id="usage">
<h2>Usage<a class="headerlink" href="#usage" title="Permalink to this headline"></a></h2>
<p>sstablesplit &lt;options&gt; &lt;filename&gt;</p>
<table class="docutils align-default">
<colgroup>
<col style="width: 30%" />
<col style="width: 70%" />
</colgroup>
<tbody>
<tr class="row-odd"><td><p>–debug</p></td>
<td><p>display stack traces</p></td>
</tr>
<tr class="row-even"><td><p>-h, –help</p></td>
<td><p>display this help message</p></td>
</tr>
<tr class="row-odd"><td><p>–no-snapshot</p></td>
<td><p>don’t snapshot the sstables before splitting</p></td>
</tr>
<tr class="row-even"><td><p>-s, –size &lt;size&gt;</p></td>
<td><p>maximum size in MB for the output sstables (default: 50)</p></td>
</tr>
</tbody>
</table>
<p>This command should be run with Cassandra stopped. Note: the script does not verify that Cassandra is stopped.</p>
</div>
<div class="section" id="split-a-file">
<h2>Split a File<a class="headerlink" href="#split-a-file" title="Permalink to this headline"></a></h2>
<p>Split a large sstable into smaller sstables. By default, unless the option –no-snapshot is added, a snapshot will be done of the original sstable and placed in the snapshots folder.</p>
<p>Example:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sstablesplit</span> <span class="o">/</span><span class="n">var</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">cassandra</span><span class="o">/</span><span class="n">data</span><span class="o">/</span><span class="n">keyspace</span><span class="o">/</span><span class="n">eventlog</span><span class="o">-</span><span class="mi">6365332094</span><span class="n">dd11e88f324f9c503e4753</span><span class="o">/</span><span class="n">mc</span><span class="o">-</span><span class="mi">8</span><span class="o">-</span><span class="n">big</span><span class="o">-</span><span class="n">Data</span><span class="o">.</span><span class="n">db</span>
<span class="n">Pre</span><span class="o">-</span><span class="n">split</span> <span class="n">sstables</span> <span class="n">snapshotted</span> <span class="n">into</span> <span class="n">snapshot</span> <span class="n">pre</span><span class="o">-</span><span class="n">split</span><span class="o">-</span><span class="mi">1533144514795</span>
</pre></div>
</div>
</div>
<div class="section" id="split-multiple-files">
<h2>Split Multiple Files<a class="headerlink" href="#split-multiple-files" title="Permalink to this headline"></a></h2>
<p>Wildcards can be used in the filename portion of the command to split multiple files.</p>
<p>Example:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sstablesplit</span> <span class="o">--</span><span class="n">size</span> <span class="mi">1</span> <span class="o">/</span><span class="n">var</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">cassandra</span><span class="o">/</span><span class="n">data</span><span class="o">/</span><span class="n">keyspace</span><span class="o">/</span><span class="n">eventlog</span><span class="o">-</span><span class="mi">6365332094</span><span class="n">dd11e88f324f9c503e4753</span><span class="o">/</span><span class="n">mc</span><span class="o">-</span><span class="mi">1</span><span class="o">*</span>
</pre></div>
</div>
</div>
<div class="section" id="attempt-to-split-a-small-file">
<h2>Attempt to Split a Small File<a class="headerlink" href="#attempt-to-split-a-small-file" title="Permalink to this headline"></a></h2>
<p>If the file is already smaller than the split size provided, the sstable will not be split.</p>
<p>Example:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sstablesplit</span> <span class="o">/</span><span class="n">var</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">cassandra</span><span class="o">/</span><span class="n">data</span><span class="o">/</span><span class="n">keyspace</span><span class="o">/</span><span class="n">eventlog</span><span class="o">-</span><span class="mi">6365332094</span><span class="n">dd11e88f324f9c503e4753</span><span class="o">/</span><span class="n">mc</span><span class="o">-</span><span class="mi">8</span><span class="o">-</span><span class="n">big</span><span class="o">-</span><span class="n">Data</span><span class="o">.</span><span class="n">db</span>
<span class="n">Skipping</span> <span class="o">/</span><span class="n">var</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">cassandra</span><span class="o">/</span><span class="n">data</span><span class="o">/</span><span class="n">keyspace</span><span class="o">/</span><span class="n">eventlog</span><span class="o">-</span><span class="mi">6365332094</span><span class="n">dd11e88f324f9c503e4753</span><span class="o">/</span><span class="n">mc</span><span class="o">-</span><span class="mi">8</span><span class="o">-</span><span class="n">big</span><span class="o">-</span><span class="n">Data</span><span class="o">.</span><span class="n">db</span><span class="p">:</span> <span class="n">it</span><span class="s1">&#39;s size (1.442 MB) is less than the split size (50 MB)</span>
<span class="n">No</span> <span class="n">sstables</span> <span class="n">needed</span> <span class="n">splitting</span><span class="o">.</span>
</pre></div>
</div>
</div>
<div class="section" id="split-a-file-into-specified-size">
<h2>Split a File into Specified Size<a class="headerlink" href="#split-a-file-into-specified-size" title="Permalink to this headline"></a></h2>
<p>The default size used for splitting is 50MB. Specify another size with the –size option. The size is in megabytes (MB). Specify only the number, not the units. For example –size 50 is correct, but –size 50MB is not.</p>
<p>Example:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sstablesplit</span> <span class="o">--</span><span class="n">size</span> <span class="mi">1</span> <span class="o">/</span><span class="n">var</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">cassandra</span><span class="o">/</span><span class="n">data</span><span class="o">/</span><span class="n">keyspace</span><span class="o">/</span><span class="n">eventlog</span><span class="o">-</span><span class="mi">6365332094</span><span class="n">dd11e88f324f9c503e4753</span><span class="o">/</span><span class="n">mc</span><span class="o">-</span><span class="mi">9</span><span class="o">-</span><span class="n">big</span><span class="o">-</span><span class="n">Data</span><span class="o">.</span><span class="n">db</span>
<span class="n">Pre</span><span class="o">-</span><span class="n">split</span> <span class="n">sstables</span> <span class="n">snapshotted</span> <span class="n">into</span> <span class="n">snapshot</span> <span class="n">pre</span><span class="o">-</span><span class="n">split</span><span class="o">-</span><span class="mi">1533144996008</span>
</pre></div>
</div>
</div>
<div class="section" id="split-without-snapshot">
<h2>Split Without Snapshot<a class="headerlink" href="#split-without-snapshot" title="Permalink to this headline"></a></h2>
<p>By default, sstablesplit will create a snapshot before splitting. If a snapshot is not needed, use the –no-snapshot option to skip it.</p>
<p>Example:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">sstablesplit</span> <span class="o">--</span><span class="n">size</span> <span class="mi">1</span> <span class="o">--</span><span class="n">no</span><span class="o">-</span><span class="n">snapshot</span> <span class="o">/</span><span class="n">var</span><span class="o">/</span><span class="n">lib</span><span class="o">/</span><span class="n">cassandra</span><span class="o">/</span><span class="n">data</span><span class="o">/</span><span class="n">keyspace</span><span class="o">/</span><span class="n">eventlog</span><span class="o">-</span><span class="mi">6365332094</span><span class="n">dd11e88f324f9c503e4753</span><span class="o">/</span><span class="n">mc</span><span class="o">-</span><span class="mi">11</span><span class="o">-</span><span class="n">big</span><span class="o">-</span><span class="n">Data</span><span class="o">.</span><span class="n">db</span>
</pre></div>
</div>
<p>Note: There is no output, but you can see the results in your file system.</p>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="sstableupgrade.html" class="btn btn-neutral float-right" title="sstableupgrade" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="sstablescrub.html" class="btn btn-neutral float-left" title="sstablescrub" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2020, The Apache Cassandra team
</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>