UNPKG

cassandra-server

Version:

A thin Javascript wrapper around Apache Cassandra to provide out of the box server support

479 lines (476 loc) 22.2 kB
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!-- NewPage --> <html lang="en"> <head> <!-- Generated by javadoc (version 1.7.0_67) on Sun Sep 07 15:29:35 CEST 2014 --> <title>AbstractColumnFamilyOutputFormat (apache-cassandra API)</title> <meta name="date" content="2014-09-07"> <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style"> </head> <body> <script type="text/javascript"><!-- if (location.href.indexOf('is-external=true') == -1) { parent.document.title="AbstractColumnFamilyOutputFormat (apache-cassandra API)"; } //--> </script> <noscript> <div>JavaScript is disabled on your browser.</div> </noscript> <!-- ========= START OF TOP NAVBAR ======= --> <div class="topNav"><a name="navbar_top"> <!-- --> </a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../../../overview-summary.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="navBarCell1Rev">Class</li> <li><a href="class-use/AbstractColumnFamilyOutputFormat.html">Use</a></li> <li><a href="package-tree.html">Tree</a></li> <li><a href="../../../../deprecated-list.html">Deprecated</a></li> <li><a href="../../../../index-all.html">Index</a></li> <li><a href="../../../../help-doc.html">Help</a></li> </ul> </div> <div class="subNav"> <ul class="navList"> <li><a href="../../../../org/apache/cassandra/hadoop/AbstractColumnFamilyInputFormat.html" title="class in org.apache.cassandra.hadoop"><span class="strong">Prev Class</span></a></li> <li><a href="../../../../org/apache/cassandra/hadoop/AbstractColumnFamilyRecordWriter.html" title="class in org.apache.cassandra.hadoop"><span class="strong">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../index.html?org/apache/cassandra/hadoop/AbstractColumnFamilyOutputFormat.html" target="_top">Frames</a></li> <li><a href="AbstractColumnFamilyOutputFormat.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_top"> <li><a href="../../../../allclasses-noframe.html">All Classes</a></li> </ul> <div> <script type="text/javascript"><!-- allClassesLink = document.getElementById("allclasses_navbar_top"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> </script> </div> <div> <ul class="subNavList"> <li>Summary:&nbsp;</li> <li>Nested&nbsp;|&nbsp;</li> <li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li> <li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li> <li><a href="#method_summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail:&nbsp;</li> <li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li> <li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li> <li><a href="#method_detail">Method</a></li> </ul> </div> <a name="skip-navbar_top"> <!-- --> </a></div> <!-- ========= END OF TOP NAVBAR ========= --> <!-- ======== START OF CLASS DATA ======== --> <div class="header"> <div class="subTitle">org.apache.cassandra.hadoop</div> <h2 title="Class AbstractColumnFamilyOutputFormat" class="title">Class AbstractColumnFamilyOutputFormat&lt;K,Y&gt;</h2> </div> <div class="contentContainer"> <ul class="inheritance"> <li>java.lang.Object</li> <li> <ul class="inheritance"> <li>org.apache.hadoop.mapreduce.OutputFormat&lt;K,Y&gt;</li> <li> <ul class="inheritance"> <li>org.apache.cassandra.hadoop.AbstractColumnFamilyOutputFormat&lt;K,Y&gt;</li> </ul> </li> </ul> </li> </ul> <div class="description"> <ul class="blockList"> <li class="blockList"> <dl><dt><span class="strong">Type Parameters:</span></dt><dd><code>Y</code> - </dd></dl> <dl> <dt>All Implemented Interfaces:</dt> <dd>org.apache.hadoop.mapred.OutputFormat&lt;K,Y&gt;</dd> </dl> <dl> <dt>Direct Known Subclasses:</dt> <dd><a href="../../../../org/apache/cassandra/hadoop/ColumnFamilyOutputFormat.html" title="class in org.apache.cassandra.hadoop">ColumnFamilyOutputFormat</a>, <a href="../../../../org/apache/cassandra/hadoop/cql3/CqlOutputFormat.html" title="class in org.apache.cassandra.hadoop.cql3">CqlOutputFormat</a></dd> </dl> <hr> <br> <pre>public abstract class <span class="strong">AbstractColumnFamilyOutputFormat&lt;K,Y&gt;</span> extends org.apache.hadoop.mapreduce.OutputFormat&lt;K,Y&gt; implements org.apache.hadoop.mapred.OutputFormat&lt;K,Y&gt;</pre> <div class="block">The <code>ColumnFamilyOutputFormat</code> acts as a Hadoop-specific OutputFormat that allows reduce tasks to store keys (and corresponding values) as Cassandra rows (and respective columns) in a given ColumnFamily. <p> As is the case with the <a href="../../../../org/apache/cassandra/hadoop/ColumnFamilyInputFormat.html" title="class in org.apache.cassandra.hadoop"><code>ColumnFamilyInputFormat</code></a>, you need to set the Keyspace and ColumnFamily in your Hadoop job Configuration. The <a href="../../../../org/apache/cassandra/hadoop/ConfigHelper.html" title="class in org.apache.cassandra.hadoop"><code>ConfigHelper</code></a> class, through its <a href="../../../../org/apache/cassandra/hadoop/ConfigHelper.html#setOutputColumnFamily(org.apache.hadoop.conf.Configuration,%20java.lang.String)"><code>ConfigHelper.setOutputColumnFamily(org.apache.hadoop.conf.Configuration, java.lang.String)</code></a> method, is provided to make this simple. </p> <p> For the sake of performance, this class employs a lazy write-back caching mechanism, where its record writer batches mutations created based on the reduce's inputs (in a task-specific map), and periodically makes the changes official by sending a batch mutate request to Cassandra. </p></div> </li> </ul> </div> <div class="summary"> <ul class="blockList"> <li class="blockList"> <!-- =========== FIELD SUMMARY =========== --> <ul class="blockList"> <li class="blockList"><a name="field_summary"> <!-- --> </a> <h3>Field Summary</h3> <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation"> <caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption> <tr> <th class="colFirst" scope="col">Modifier and Type</th> <th class="colLast" scope="col">Field and Description</th> </tr> <tr class="altColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/hadoop/AbstractColumnFamilyOutputFormat.html#BATCH_THRESHOLD">BATCH_THRESHOLD</a></strong></code>&nbsp;</td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static java.lang.String</code></td> <td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/hadoop/AbstractColumnFamilyOutputFormat.html#QUEUE_SIZE">QUEUE_SIZE</a></strong></code>&nbsp;</td> </tr> </table> </li> </ul> <!-- ======== CONSTRUCTOR SUMMARY ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor_summary"> <!-- --> </a> <h3>Constructor Summary</h3> <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> <caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption> <tr> <th class="colOne" scope="col">Constructor and Description</th> </tr> <tr class="altColor"> <td class="colOne"><code><strong><a href="../../../../org/apache/cassandra/hadoop/AbstractColumnFamilyOutputFormat.html#AbstractColumnFamilyOutputFormat()">AbstractColumnFamilyOutputFormat</a></strong>()</code>&nbsp;</td> </tr> </table> </li> </ul> <!-- ========== METHOD SUMMARY =========== --> <ul class="blockList"> <li class="blockList"><a name="method_summary"> <!-- --> </a> <h3>Method Summary</h3> <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> <caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption> <tr> <th class="colFirst" scope="col">Modifier and Type</th> <th class="colLast" scope="col">Method and Description</th> </tr> <tr class="altColor"> <td class="colFirst"><code>protected void</code></td> <td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/hadoop/AbstractColumnFamilyOutputFormat.html#checkOutputSpecs(org.apache.hadoop.conf.Configuration)">checkOutputSpecs</a></strong>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td> </tr> <tr class="rowColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/hadoop/AbstractColumnFamilyOutputFormat.html#checkOutputSpecs(org.apache.hadoop.fs.FileSystem,%20org.apache.hadoop.mapred.JobConf)">checkOutputSpecs</a></strong>(org.apache.hadoop.fs.FileSystem&nbsp;filesystem, org.apache.hadoop.mapred.JobConf&nbsp;job)</code> <div class="block"><strong>Deprecated.</strong>&nbsp;</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/hadoop/AbstractColumnFamilyOutputFormat.html#checkOutputSpecs(org.apache.hadoop.mapreduce.JobContext)">checkOutputSpecs</a></strong>(org.apache.hadoop.mapreduce.JobContext&nbsp;context)</code> <div class="block">Check for validity of the output-specification for the job.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static <a href="../../../../org/apache/cassandra/thrift/Cassandra.Client.html" title="class in org.apache.cassandra.thrift">Cassandra.Client</a></code></td> <td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/hadoop/AbstractColumnFamilyOutputFormat.html#createAuthenticatedClient(java.lang.String,%20int,%20org.apache.hadoop.conf.Configuration)">createAuthenticatedClient</a></strong>(java.lang.String&nbsp;host, int&nbsp;port, org.apache.hadoop.conf.Configuration&nbsp;conf)</code> <div class="block">Connects to the given server:port and returns a client based on the given socket that points to the configured keyspace, and is logged in with the configured credentials.</div> </td> </tr> <tr class="altColor"> <td class="colFirst"><code>org.apache.hadoop.mapreduce.OutputCommitter</code></td> <td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/hadoop/AbstractColumnFamilyOutputFormat.html#getOutputCommitter(org.apache.hadoop.mapreduce.TaskAttemptContext)">getOutputCommitter</a></strong>(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)</code> <div class="block">The OutputCommitter for this format does not write any data to the DFS.</div> </td> </tr> <tr class="rowColor"> <td class="colFirst"><code>static void</code></td> <td class="colLast"><code><strong><a href="../../../../org/apache/cassandra/hadoop/AbstractColumnFamilyOutputFormat.html#login(java.lang.String,%20java.lang.String,%20org.apache.cassandra.thrift.Cassandra.Client)">login</a></strong>(java.lang.String&nbsp;user, java.lang.String&nbsp;password, <a href="../../../../org/apache/cassandra/thrift/Cassandra.Client.html" title="class in org.apache.cassandra.thrift">Cassandra.Client</a>&nbsp;client)</code>&nbsp;</td> </tr> </table> <ul class="blockList"> <li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.mapreduce.OutputFormat"> <!-- --> </a> <h3>Methods inherited from class&nbsp;org.apache.hadoop.mapreduce.OutputFormat</h3> <code>getRecordWriter</code></li> </ul> <ul class="blockList"> <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object"> <!-- --> </a> <h3>Methods inherited from class&nbsp;java.lang.Object</h3> <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li> </ul> <ul class="blockList"> <li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.mapred.OutputFormat"> <!-- --> </a> <h3>Methods inherited from interface&nbsp;org.apache.hadoop.mapred.OutputFormat</h3> <code>getRecordWriter</code></li> </ul> </li> </ul> </li> </ul> </div> <div class="details"> <ul class="blockList"> <li class="blockList"> <!-- ============ FIELD DETAIL =========== --> <ul class="blockList"> <li class="blockList"><a name="field_detail"> <!-- --> </a> <h3>Field Detail</h3> <a name="BATCH_THRESHOLD"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>BATCH_THRESHOLD</h4> <pre>public static final&nbsp;java.lang.String BATCH_THRESHOLD</pre> <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.cassandra.hadoop.AbstractColumnFamilyOutputFormat.BATCH_THRESHOLD">Constant Field Values</a></dd></dl> </li> </ul> <a name="QUEUE_SIZE"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>QUEUE_SIZE</h4> <pre>public static final&nbsp;java.lang.String QUEUE_SIZE</pre> <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../constant-values.html#org.apache.cassandra.hadoop.AbstractColumnFamilyOutputFormat.QUEUE_SIZE">Constant Field Values</a></dd></dl> </li> </ul> </li> </ul> <!-- ========= CONSTRUCTOR DETAIL ======== --> <ul class="blockList"> <li class="blockList"><a name="constructor_detail"> <!-- --> </a> <h3>Constructor Detail</h3> <a name="AbstractColumnFamilyOutputFormat()"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>AbstractColumnFamilyOutputFormat</h4> <pre>public&nbsp;AbstractColumnFamilyOutputFormat()</pre> </li> </ul> </li> </ul> <!-- ============ METHOD DETAIL ========== --> <ul class="blockList"> <li class="blockList"><a name="method_detail"> <!-- --> </a> <h3>Method Detail</h3> <a name="checkOutputSpecs(org.apache.hadoop.mapreduce.JobContext)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>checkOutputSpecs</h4> <pre>public&nbsp;void&nbsp;checkOutputSpecs(org.apache.hadoop.mapreduce.JobContext&nbsp;context)</pre> <div class="block">Check for validity of the output-specification for the job.</div> <dl> <dt><strong>Specified by:</strong></dt> <dd><code>checkOutputSpecs</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.mapreduce.OutputFormat&lt;<a href="../../../../org/apache/cassandra/hadoop/AbstractColumnFamilyOutputFormat.html" title="type parameter in AbstractColumnFamilyOutputFormat">K</a>,<a href="../../../../org/apache/cassandra/hadoop/AbstractColumnFamilyOutputFormat.html" title="type parameter in AbstractColumnFamilyOutputFormat">Y</a>&gt;</code></dd> <dt><span class="strong">Parameters:</span></dt><dd><code>context</code> - information about the job</dd> <dt><span class="strong">Throws:</span></dt> <dd><code>java.io.IOException</code> - when output should not be attempted</dd></dl> </li> </ul> <a name="checkOutputSpecs(org.apache.hadoop.conf.Configuration)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>checkOutputSpecs</h4> <pre>protected&nbsp;void&nbsp;checkOutputSpecs(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre> </li> </ul> <a name="checkOutputSpecs(org.apache.hadoop.fs.FileSystem, org.apache.hadoop.mapred.JobConf)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>checkOutputSpecs</h4> <pre>@Deprecated public&nbsp;void&nbsp;checkOutputSpecs(org.apache.hadoop.fs.FileSystem&nbsp;filesystem, org.apache.hadoop.mapred.JobConf&nbsp;job) throws java.io.IOException</pre> <div class="block"><span class="strong">Deprecated.</span>&nbsp;</div> <div class="block">Fills the deprecated OutputFormat interface for streaming.</div> <dl> <dt><strong>Specified by:</strong></dt> <dd><code>checkOutputSpecs</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.mapred.OutputFormat&lt;<a href="../../../../org/apache/cassandra/hadoop/AbstractColumnFamilyOutputFormat.html" title="type parameter in AbstractColumnFamilyOutputFormat">K</a>,<a href="../../../../org/apache/cassandra/hadoop/AbstractColumnFamilyOutputFormat.html" title="type parameter in AbstractColumnFamilyOutputFormat">Y</a>&gt;</code></dd> <dt><span class="strong">Throws:</span></dt> <dd><code>java.io.IOException</code></dd></dl> </li> </ul> <a name="getOutputCommitter(org.apache.hadoop.mapreduce.TaskAttemptContext)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getOutputCommitter</h4> <pre>public&nbsp;org.apache.hadoop.mapreduce.OutputCommitter&nbsp;getOutputCommitter(org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context) throws java.io.IOException, java.lang.InterruptedException</pre> <div class="block">The OutputCommitter for this format does not write any data to the DFS.</div> <dl> <dt><strong>Specified by:</strong></dt> <dd><code>getOutputCommitter</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.mapreduce.OutputFormat&lt;<a href="../../../../org/apache/cassandra/hadoop/AbstractColumnFamilyOutputFormat.html" title="type parameter in AbstractColumnFamilyOutputFormat">K</a>,<a href="../../../../org/apache/cassandra/hadoop/AbstractColumnFamilyOutputFormat.html" title="type parameter in AbstractColumnFamilyOutputFormat">Y</a>&gt;</code></dd> <dt><span class="strong">Parameters:</span></dt><dd><code>context</code> - the task context</dd> <dt><span class="strong">Returns:</span></dt><dd>an output committer</dd> <dt><span class="strong">Throws:</span></dt> <dd><code>java.io.IOException</code></dd> <dd><code>java.lang.InterruptedException</code></dd></dl> </li> </ul> <a name="createAuthenticatedClient(java.lang.String, int, org.apache.hadoop.conf.Configuration)"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>createAuthenticatedClient</h4> <pre>public static&nbsp;<a href="../../../../org/apache/cassandra/thrift/Cassandra.Client.html" title="class in org.apache.cassandra.thrift">Cassandra.Client</a>&nbsp;createAuthenticatedClient(java.lang.String&nbsp;host, int&nbsp;port, org.apache.hadoop.conf.Configuration&nbsp;conf) throws java.lang.Exception</pre> <div class="block">Connects to the given server:port and returns a client based on the given socket that points to the configured keyspace, and is logged in with the configured credentials.</div> <dl><dt><span class="strong">Parameters:</span></dt><dd><code>host</code> - fully qualified host name to connect to</dd><dd><code>port</code> - RPC port of the server</dd><dd><code>conf</code> - a job configuration</dd> <dt><span class="strong">Returns:</span></dt><dd>a cassandra client</dd> <dt><span class="strong">Throws:</span></dt> <dd><code>java.lang.Exception</code> - set of thrown exceptions may be implementation defined, depending on the used transport factory</dd></dl> </li> </ul> <a name="login(java.lang.String, java.lang.String, org.apache.cassandra.thrift.Cassandra.Client)"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>login</h4> <pre>public static&nbsp;void&nbsp;login(java.lang.String&nbsp;user, java.lang.String&nbsp;password, <a href="../../../../org/apache/cassandra/thrift/Cassandra.Client.html" title="class in org.apache.cassandra.thrift">Cassandra.Client</a>&nbsp;client) throws java.lang.Exception</pre> <dl><dt><span class="strong">Throws:</span></dt> <dd><code>java.lang.Exception</code></dd></dl> </li> </ul> </li> </ul> </li> </ul> </div> </div> <!-- ========= END OF CLASS DATA ========= --> <!-- ======= START OF BOTTOM NAVBAR ====== --> <div class="bottomNav"><a name="navbar_bottom"> <!-- --> </a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow"> <!-- --> </a> <ul class="navList" title="Navigation"> <li><a href="../../../../overview-summary.html">Overview</a></li> <li><a href="package-summary.html">Package</a></li> <li class="navBarCell1Rev">Class</li> <li><a href="class-use/AbstractColumnFamilyOutputFormat.html">Use</a></li> <li><a href="package-tree.html">Tree</a></li> <li><a href="../../../../deprecated-list.html">Deprecated</a></li> <li><a href="../../../../index-all.html">Index</a></li> <li><a href="../../../../help-doc.html">Help</a></li> </ul> </div> <div class="subNav"> <ul class="navList"> <li><a href="../../../../org/apache/cassandra/hadoop/AbstractColumnFamilyInputFormat.html" title="class in org.apache.cassandra.hadoop"><span class="strong">Prev Class</span></a></li> <li><a href="../../../../org/apache/cassandra/hadoop/AbstractColumnFamilyRecordWriter.html" title="class in org.apache.cassandra.hadoop"><span class="strong">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../index.html?org/apache/cassandra/hadoop/AbstractColumnFamilyOutputFormat.html" target="_top">Frames</a></li> <li><a href="AbstractColumnFamilyOutputFormat.html" target="_top">No Frames</a></li> </ul> <ul class="navList" id="allclasses_navbar_bottom"> <li><a href="../../../../allclasses-noframe.html">All Classes</a></li> </ul> <div> <script type="text/javascript"><!-- allClassesLink = document.getElementById("allclasses_navbar_bottom"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> </script> </div> <div> <ul class="subNavList"> <li>Summary:&nbsp;</li> <li>Nested&nbsp;|&nbsp;</li> <li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li> <li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li> <li><a href="#method_summary">Method</a></li> </ul> <ul class="subNavList"> <li>Detail:&nbsp;</li> <li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li> <li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li> <li><a href="#method_detail">Method</a></li> </ul> </div> <a name="skip-navbar_bottom"> <!-- --> </a></div> <!-- ======== END OF BOTTOM NAVBAR ======= --> <p class="legalCopy"><small>Copyright &copy; 2014 The Apache Software Foundation</small></p> </body> </html>