Author: buildbot Date: Mon Jun 17 23:55:24 2013 New Revision: 865996 Log: Staging update by buildbot for gora
Modified: websites/staging/gora/trunk/content/ (props changed) websites/staging/gora/trunk/content/current/tutorial.html Propchange: websites/staging/gora/trunk/content/ ------------------------------------------------------------------------------ --- cms:source-revision (original) +++ cms:source-revision Mon Jun 17 23:55:24 2013 @@ -1 +1 @@ -1493895 +1493978 Modified: websites/staging/gora/trunk/content/current/tutorial.html ============================================================================== --- websites/staging/gora/trunk/content/current/tutorial.html (original) +++ websites/staging/gora/trunk/content/current/tutorial.html Mon Jun 17 23:55:24 2013 @@ -383,53 +383,52 @@ are serialized and persisted to the data <h3 id="hbase-mappings">HBase mappings</h3> <p>HBase mappings are stored at file named gora-hbase-mappings.xml. For this tutorial we will be using the file gora-tutorial/conf/gora-hbase-mappings.xml.</p> -<div class="codehilite"><pre> <span class="o"><</span>!<span class="o">--</span> <span class="n">This</span> <span class="n">is</span> <span class="n">gora</span><span class="o">-</span><span class="n">sql</span><span class="o">-</span><span class="n">mapping</span><span class="p">.</span><span class="n">xml</span> -</pre></div> +<div class="codehilite"><pre> <span class="c"><!-- This is gora-sql-mapping.xml</span> +<span class="c"><gora-orm></span> +<span class="c"> <class name="org.apache.gora.tutorial.log.generated.Pageview" keyClass="java.lang.Long" table="AccessLog"></span> +<span class="c"> <primarykey column="line"/></span> +<span class="c"> <field name="url" column="url" length="512" primarykey="true"/></span> +<span class="c"> <field name="timestamp" column="timestamp"/></span> +<span class="c"> <field name="ip" column="ip" length="16"/></span> +<span class="c"> <field name="httpMethod" column="httpMethod" length="6"/></span> +<span class="c"> <;field name="httpStatusCode" column="httpStatusCode"/></span> +<span class="c"> <field name="responseSize" column="responseSize"/></span> +<span class="c"> <field name="referrer" column="referrer" length="512"/></span> +<span class="c"> <field name="userAgent" column="userAgent" length="512"/></span> +<span class="c"> </class&gt;</span> + +<span class="c"> ...</span> + +<span class="c"></gora-orm></span> + +<span class="c"> --></span> + +<span class="nt"><gora-orm</span><span class="err">&gt;</span> + <span class="err"><table</span> <span class="na">name=</span><span class="s">"Pageview"</span><span class="nt">></span> <span class="c"><!-- optional descriptors for tables --></span> + <span class="nt"><family</span> <span class="na">name=</span><span class="s">"common"</span><span class="nt">></span> <span class="c"><!-- This can also have params like compression, bloom filters --></span> + <span class="nt"><family</span> <span class="na">name=</span><span class="s">"http"</span><span class="nt">/></span> + <span class="nt"><family</span> <span class="na">name=</span><span class="s">"misc"</span><span class="nt">/></span> + <span class="nt"></table></span> + + <span class="nt"><class</span> <span class="na">name=</span><span class="s">"org.apache.gora.tutorial.log.generated.Pageview"</span> <span class="na">keyClass=</span><span class="s">"java.lang.Long"</span> <span class="na">table=</span><span class="s">"AccessLog"</span><span class="nt">></span> + <span class="nt"><field</span> <span class="na">name=</span><span class="s">"url"</span> <span class="na">family=</span><span class="s">"common"</span> <span class="na">qualifier=</span><span class="s">"url"</span><span class="nt">/></span> + <span class="nt"><field</span> <span class="na">name=</span><span class="s">"timestamp"</span> <span class="na">family=</span><span class="s">"common"</span> <span class="na">qualifier=</span><span class="s">"timestamp"</span><span class="nt">/></span> + <span class="nt"><field</span> <span class="na">name=</span><span class="s">"ip"</span> <span class="na">family=</span><span class="s">"common"</span> <span class="na">qualifier=</span><span class="s">"ip"</span> <span class="nt">/></span> + <span class="nt"><field</span> <span class="na">name=</span><span class="s">"httpMethod"</span> <span class="na">family=</span><span class="s">"http"</span> <span class="na">qualifier=</span><span class="s">"httpMethod"</span><span class="nt">/></span> + <span class="nt"><field</span> <span class="na">name=</span><span class="s">"httpStatusCode"</span> <span class="na">family=</span><span class="s">"http"</span> <span class="na">qualifier=</span><span class="s">"httpStatusCode"</span><span class="nt">/></span> + <span class="nt"><field</span> <span class="na">name=</span><span class="s">"responseSize"</span> <span class="na">family=</span><span class="s">"http"</span> <span class="na">qualifier=</span><span class="s">"responseSize"</span><span class="nt">/></span> + <span class="nt"><field</span> <span class="na">name=</span><span class="s">"referrer"</span> <span class="na">family=</span><span class="s">"misc"</span> <span class="na">qualifier=</span><span class="s">"referrer"</span><span class="nt">/></span> + <span class="nt"><field</span> <span class="na">name=</span><span class="s">"userAgent"</span> <span class="na">family=</span><span class="s">"misc"</span> <span class="na">qualifier=</span><span class="s">"userAgent"</span><span class="nt">/></span> + <span class="nt"></class></span> -<p><source> - <gora-orm> - <class name="org.apache.gora.tutorial.log.generated.Pageview" keyClass="java.lang.Long" table="AccessLog"> - <primarykey column="line"/> - <field name="url" column="url" length="512" primarykey="true"/> - <field name="timestamp" column="timestamp"/> - <field name="ip" column="ip" length="16"/> - <field name="httpMethod" column="httpMethod" length="6"/> - <field name="httpStatusCode" column="httpStatusCode"/> - <field name="responseSize" column="responseSize"/> - <field name="referrer" column="referrer" length="512"/> - <field name="userAgent" column="userAgent" length="512"/> - </class></p> -<p>...</p> -<p></gora-orm></p> -<div class="codehilite"><pre> <span class="o"></</span><span class="n">source</span><span class="o">></span> - <span class="o">--></span> - -<span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">gora</span><span class="o">-</span><span class="n">orm</span><span class="o">&</span><span class="n">gt</span><span class="p">;</span> - <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">table</span> <span class="n">name</span><span class="p">=</span>"<span class="n">Pageview</span>"<span class="o">&</span><span class="n">gt</span><span class="p">;</span> <span class="o">&</span><span class="n">lt</span><span class="p">;</span>!<span class="o">--</span> <span class="n">optional</span> <span class="n">descriptors</span> <span class="k">for</span> <span class="n">tables</span> <span class="o">--&</span><span class="n">gt</span><span class="p">;</span> - <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">family</span> <span class="n">name</span><span class="p">=</span>"<span class="n">common</span>"<span class="o">/&</span><span class="n">gt</span><span class="p">;</span> <span class="o">&</span><span class="n">lt</span><span class="p">;</span>!<span class="o">--</span> <span class="n">This</span> <span class="n">can</span> <span class="n">also</span> <span class="n">have</span> <span class="n">params</span> <span class="n">like</span> <span class="n">compression</span><span class="p">,</span> <span class="n">bloom</span> <span class="n">filters</span> <span class="o">--&</span><span class="n">gt</span><span class="p">;</span> - <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">family</span> <span class="n">name</span><span class="p">=</span>"<span class="n">http</span>"<span class="o">/&</span><span class="n">gt</span><span class="p">;</span> - <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">family</span> <span class="n">name</span><span class="p">=</span>"<span class="n">misc</span>"<span class="o">/&</span><span class="n">gt</span><span class="p">;</span> - <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">/</span><span class="n">table</span><span class="o">&</span><span class="n">gt</span><span class="p">;</span> - - <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">class</span> <span class="n">name</span><span class="p">=</span>"<span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">gora</span><span class="p">.</span><span class="n">tutorial</span><span class="p">.</span><span class="nb">log</span><span class="p">.</span><span class="n">generated</span><span class="p">.</span><span class="n">Pageview</span>" <span class="n">keyClass</span><span class="p">=</span>"<span class="n">java</span><span class="p">.</span><span class="n">lang</span><span class="p">.</span><span class="n">Long</span>" <span class="n">table</span><span class="p">=</span>"<span class="n">AccessLog</span>"<span class="o">&</span><span class="n">gt</span><span class="p">;</span> - <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">field</span> <span class="n">name</span><span class="p">=</span>"<span class="n">url</span>" <span class="n">family</span><span class="p">=</span>"<span class="n">common</span>" <span class="n">qualifier</span><span class="p">=</span>"<span class="n">url</span>"<span class="o">/&</span><span class="n">gt</span><span class="p">;</span> - <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">field</span> <span class="n">name</span><span class="p">=</span>"<span class="n">timestamp</span>" <span class="n">family</span><span class="p">=</span>"<span class="n">common</span>" <span class="n">qualifier</span><span class="p">=</span>"<span class="n">timestamp</span>"<span class="o">/&</span><span class="n">gt</span><span class="p">;</span> - <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">field</span> <span class="n">name</span><span class="p">=</span>"<span class="n">ip</span>" <span class="n">family</span><span class="p">=</span>"<span class="n">common</span>" <span class="n">qualifier</span><span class="p">=</span>"<span class="n">ip</span>" <span class="o">/&</span><span class="n">gt</span><span class="p">;</span> - <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">field</span> <span class="n">name</span><span class="p">=</span>"<span class="n">httpMethod</span>" <span class="n">family</span><span class="p">=</span>"<span class="n">http</span>" <span class="n">qualifier</span><span class="p">=</span>"<span class="n">httpMethod</span>"<span class="o">/&</span><span class="n">gt</span><span class="p">;</span> - <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">field</span> <span class="n">name</span><span class="p">=</span>"<span class="n">httpStatusCode</span>" <span class="n">family</span><span class="p">=</span>"<span class="n">http</span>" <span class="n">qualifier</span><span class="p">=</span>"<span class="n">httpStatusCode</span>"<span class="o">/&</span><span class="n">gt</span><span class="p">;</span> - <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">field</span> <span class="n">name</span><span class="p">=</span>"<span class="n">responseSize</span>" <span class="n">family</span><span class="p">=</span>"<span class="n">http</span>" <span class="n">qualifier</span><span class="p">=</span>"<span class="n">responseSize</span>"<span class="o">/&</span><span class="n">gt</span><span class="p">;</span> - <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">field</span> <span class="n">name</span><span class="p">=</span>"<span class="n">referrer</span>" <span class="n">family</span><span class="p">=</span>"<span class="n">misc</span>" <span class="n">qualifier</span><span class="p">=</span>"<span class="n">referrer</span>"<span class="o">/&</span><span class="n">gt</span><span class="p">;</span> - <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="n">field</span> <span class="n">name</span><span class="p">=</span>"<span class="n">userAgent</span>" <span class="n">family</span><span class="p">=</span>"<span class="n">misc</span>" <span class="n">qualifier</span><span class="p">=</span>"<span class="n">userAgent</span>"<span class="o">/&</span><span class="n">gt</span><span class="p">;</span> - <span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">/</span><span class="n">class</span><span class="o">&</span><span class="n">gt</span><span class="p">;</span> + ... - <span class="p">...</span> - -<span class="o">&</span><span class="n">lt</span><span class="p">;</span><span class="o">/</span><span class="n">gora</span><span class="o">-</span><span class="n">orm</span><span class="o">&</span><span class="n">gt</span><span class="p">;</span> +<span class="nt"></gora-orm></span> </pre></div> -<p>Every mapping file starts with the top level element <gora-orm>. +<p>Every mapping file starts with the top level element <gora-orm>. Gora HBase mapping files can have two type of child elements, table and class declarations. All of the table and class definitions should be listed at this level.</p> @@ -437,7 +436,7 @@ listed at this level.</p> declaration from the class sub elements. However, some of the HBase specific table configuration such as compression, blockCache, etc can be given here, if Gora is used to auto-create the tables. The exact syntax for the file can be found -<a href="/gora-hbase.html">here</a>.</p> +<a href="/current/gora-hbase.html">here</a>.</p> <p>In Gora, data store access is always done in a key-value data model, since most of the target backends support this model. DataStore API expects to know the class names of the key and persistent classes, so that @@ -452,8 +451,8 @@ of the HBase data model. If the qualifie as the column qualifier. Note that map and array type fields are stored in unique column families, so the configuration should be list unique column families for each map and array type, and no qualifier should be given. The exact data model is discussed further -at the <a href="/gora-hbase.html">gora-hbase</a> documentation. </p> -<h2 id="basic-api-wzxhzdk83">Basic API </title></h2> +at the <a href="/current/gora-hbase.html">gora-hbase</a> documentation. </p> +<h2 id="basic-api-wzxhzdk54">Basic API </title></h2> <h3 id="parsing-the-logs">Parsing the logs</h3> <p>Now that we have the basic setup, we can see Gora API in action. As you can notice below the API is pretty simple to use. We will be using the class LogManager (which is located at