UNPKG

qminer

Version:

A C++ based data analytics platform for processing large-scale real-time streams containing structured and unstructured data

324 lines (320 loc) 12.5 kB
<!doctype html> <html> <head> <meta name="generator" content="JSDoc 3"> <meta charset="utf-8"> <title>Class: RecordVector</title> <link rel="stylesheet" href="https://brick.a.ssl.fastly.net/Karla:400,400i,700,700i" type="text/css"> <link rel="stylesheet" href="https://brick.a.ssl.fastly.net/Noto+Serif:400,400i,700,700i" type="text/css"> <link rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css"> <link href="css/baseline.css" rel="stylesheet"> </head> <body onload="prettyPrint()"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-content"> <a href="index.html" class="jsdoc-navbar-package-name">QMiner JavaScript API v9.4.0</a> </div> </div> </nav> <div id="jsdoc-body-container"> <div id="jsdoc-content"> <div id="jsdoc-content-container"> <div id="jsdoc-main" role="main"> <header class="page-header"> <div class="symbol-detail-labels"><span class="label label-kind">class</span>&nbsp;<span class="label label-static">static</span></div> <h1><small><a href="module-qm.html">qm</a>.<wbr></small><span class="symbol-name">RecordVector</span></h1> <p class="source-link">Source: <a href="qminerdoc.js.html#source-line-1631">qminerdoc.<wbr>js:1631</a></p> <div class="symbol-classdesc"> <p>Vector storing records defined by value. Vector can be serialized and iterated over. For storing records by reference use <a href="module-qm.RecordSet.html">module:qm.RecordSet</a> or <a href="module-la.IntVector.html">module:la.IntVector</a>. </p> </div> <dl class="dl-compact"> </dl> </header> <section id="summary"> <div class="summary-callout"> <h2 class="summary-callout-heading">Property</h2> <div class="summary-content"> <div class="summary-column"> <dl class="dl-summary-callout"> <dt><a href="module-qm.RecordVector.html#length">length</a></dt> <dd> </dd> </dl> </div> <div class="summary-column"> </div> <div class="summary-column"> </div> </div> </div> <div class="summary-callout"> <h2 class="summary-callout-heading">Methods</h2> <div class="summary-content"> <div class="summary-column"> <dl class="dl-summary-callout"> <dt><a href="module-qm.RecordVector.html#push">push(rec)</a></dt> <dd> </dd> </dl> </div> <div class="summary-column"> <dl class="dl-summary-callout"> <dt><a href="module-qm.RecordVector.html#save">save(fout)</a></dt> <dd> </dd> </dl> </div> <div class="summary-column"> </div> </div> </div> </section> <section> <h2 id="RecordVector">new&nbsp;<span class="symbol-name">RecordVector</span><span class="signature"><span class="signature-params">(base[, fin])</span></span></h2> <p>Vector of records by value.</p> <section> <h3> Example </h3> <div> <pre class="prettyprint"><code>// import qm module var qm &#x3D; require(&#x27;qminer&#x27;); // create a new base containing one store var base &#x3D; new qm.Base({ mode: &quot;createClean&quot;, schema: [{ name: &quot;Philosophers&quot;, fields: [ { name: &quot;Name&quot;, type: &quot;string&quot; }, { name: &quot;Era&quot;, type: &quot;string&quot; } ] }] }); // Create record vector var recordVector &#x3D; new qm.RecordVector(base); // Add some records to the vector recordVector.push(base.store(&quot;Philosophers&quot;).newRecord({ Name: &quot;Plato&quot;, Era: &quot;Ancient philosophy&quot; })); recordVector.push(base.store(&quot;Philosophers&quot;).newRecord({ Name: &quot;Immanuel Kant&quot;, Era: &quot;18th-century philosophy&quot; })); recordVector.push(base.store(&quot;Philosophers&quot;).newRecord({ Name: &quot;Emmanuel Levinas&quot;, Era: &quot;20th-century philosophy&quot; })); recordVector.push(base.store(&quot;Philosophers&quot;).newRecord({ Name: &quot;Rene Descartes&quot;, Era: &quot;17th-century philosophy&quot; })); recordVector.push(base.store(&quot;Philosophers&quot;).newRecord({ Name: &quot;Confucius&quot;, Era: &quot;Ancient philosophy&quot; })); // Iterate over all records for (var i &#x3D; 0; i &lt; recordVector.length; i++) { var rec &#x3D; recordVector[i]; var tite &#x3D; rec.Name + &quot; (&quot; + rec.Era + &quot;)&quot;; } base.close();</code></pre> </div> </section> <section> <h3>Parameters</h3> <table class="jsdoc-details-table"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Optional</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <p>base</p> </td> <td> <p><a href="module-qm.Base.html">module:qm.Base</a></p> </td> <td> <p>&nbsp;</p> </td> <td> <p>Qminer base object.</p> </td> </tr> <tr> <td> <p>fin</p> </td> <td> <p><a href="module-fs.FIn.html">module:fs.FIn</a></p> </td> <td> <p>Yes</p> </td> <td> <p>Load vector from input stream.</p> </td> </tr> </tbody> </table> </section> <dl class="dl-compact"> </dl> </section> <section> <h2>Property</h2> <section> <h3 id="length"><span class="symbol-name">length</span></h3> <p>Gives the number of records. Type <code>number</code>.</p> <dl class="dl-compact"> </dl> </section> <h2>Methods</h2> <section> <h3 id="push"><span class="symbol-name">push</span><span class="signature"><span class="signature-params">(rec)</span>&nbsp;&rarr; <span class="signature-returns"> number</span></span></h3> <p>Adds a new record to the vector.</p> <section> <h4> Example </h4> <div> <pre class="prettyprint"><code>// import qm module var qm &#x3D; require(&#x27;qminer&#x27;); // create a new base containing one store var base &#x3D; new qm.Base({ mode: &quot;createClean&quot;, schema: [{ name: &quot;Philosophers&quot;, fields: [ { name: &quot;Name&quot;, type: &quot;string&quot; }, { name: &quot;Era&quot;, type: &quot;string&quot; } ] }] }); // Create record vector var recordVector &#x3D; new qm.RecordVector(base); // Add some records to the vector recordVector.push(base.store(&quot;Philosophers&quot;).newRecord({ Name: &quot;Plato&quot;, Era: &quot;Ancient philosophy&quot; })); base.close();</code></pre> </div> </section> <section> <h4>Parameter</h4> <table class="jsdoc-details-table"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Optional</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <p>rec</p> </td> <td> <p><a href="module-qm.Record.html">module:qm.Record</a></p> </td> <td> <p>&nbsp;</p> </td> <td> <p>The added record. The record must be provided by value.</p> </td> </tr> </tbody> </table> </section> <dl class="dl-compact"> <dt>Returns</dt> <dd> <p><code>number</code>B The position of the added record in the vector.</p> </dd> </dl> <h3 id="save"><span class="symbol-name">save</span><span class="signature"><span class="signature-params">(fout)</span>&nbsp;&rarr; <span class="signature-returns"> <a href="module-fs.FOut.html">module:fs.FOut</a></span></span></h3> <p>Saves the vector into the output stream.</p> <section> <h4> Example </h4> <div> <pre class="prettyprint"><code>// import qm module var qm &#x3D; require(&#x27;qminer&#x27;); var fs &#x3D; require(&#x27;qminer&#x27;).fs; // create a new base containing one store var base &#x3D; new qm.Base({ mode: &quot;createClean&quot;, schema: [{ name: &quot;Philosophers&quot;, fields: [ { name: &quot;Name&quot;, type: &quot;string&quot; }, { name: &quot;Era&quot;, type: &quot;string&quot; } ] }] }); // Create record vector var recordVector &#x3D; new qm.RecordVector(base); // Add some records to the vector recordVector.push(base.store(&quot;Philosophers&quot;).newRecord({ Name: &quot;Plato&quot;, Era: &quot;Ancient philosophy&quot; })); // save to disk var fout &#x3D; fs.openWrite(&#x27;record_vector.bin&#x27;); recordVector.save(fout).close(); // load into a new vector var fin &#x3D; fs.openRead(&#x27;record_vector.bin&#x27;); var recordVector2 &#x3D; new qm.RecordVector(base, fin); base.close();</code></pre> </div> </section> <section> <h4>Parameter</h4> <table class="jsdoc-details-table"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Optional</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <p>fout</p> </td> <td> <p><a href="module-fs.FOut.html">module:fs.FOut</a></p> </td> <td> <p>&nbsp;</p> </td> <td> <p>Output stream.</p> </td> </tr> </tbody> </table> </section> <dl class="dl-compact"> <dt>Returns</dt> <dd> <p><code><a href="module-fs.FOut.html">module:fs.FOut</a></code>B The output stream <code>fout</code>.</p> </dd> </dl> </section> </section> </div> </div> <nav id="jsdoc-toc-nav" role="navigation"></nav> </div> </div> <footer id="jsdoc-footer" class="jsdoc-footer"> <div id="jsdoc-footer-container"> <p> </p> </div> </footer> <script src="scripts/jquery.min.js"></script> <script src="scripts/tree.jquery.js"></script> <script src="scripts/prettify.js"></script> <script src="scripts/jsdoc-toc.js"></script> <script src="scripts/linenumber.js"></script> <script src="scripts/scrollanchor.js"></script> </body> </html>