Author: lewismc Date: Fri Jul 18 16:06:54 2014 New Revision: 1611683 URL: http://svn.apache.org/r1611683 Log: CMS commit to gora by lewismc
Modified: gora/site/trunk/content/current/gora-core.md Modified: gora/site/trunk/content/current/gora-core.md URL: http://svn.apache.org/viewvc/gora/site/trunk/content/current/gora-core.md?rev=1611683&r1=1611682&r2=1611683&view=diff ============================================================================== --- gora/site/trunk/content/current/gora-core.md (original) +++ gora/site/trunk/content/current/gora-core.md Fri Jul 18 16:06:54 2014 @@ -15,52 +15,112 @@ core **MapReduce**, **Persistency**, **Q #AvroStore +##Description +AvroStore can be used for binary-compatible Avro serializations. It supports Binary and JSON serializations. + ##gora.properties To configure the AvroStore one would typically set the following: -* gora.avrostore.output.path=hdfs://uri/path/to/hdfs/data/directory || file:///uri/path/to/local/data/directory - This value should point to the hdfs data directory (if running Gora in a distributed Hadoop environment) or to some location on the local file system (if running Gora locally). -* gora.avrostore.xxx=xxx - xyz - -##To configure the DataFileAvroStore one would typically set the following: -* gora.datafileavrostore.xxx=xxx - xyz -* gora.datafileavrostore.xxx=xxx - xyz + * <code>g</code>= - + * <code></code>= - + * <code></code>= + +<table class="table"> + <thead> + <tr> + <th align="left">Property Key</th> + <th align="left">Property Value</th> + <th align="left">Required</th> + <th align="left">Description</th> + </tr> + </thead> + <tbody> + <tr> + <td>gora.datastore.default=</td> + <td>org.apache.gora.avro.store.AvroStore</td> + <td>Yes</td> + <td>Implementation of the persistent Java storage class</td> + </tr> + <tr> + <td>gora.avrostore.input.path=</td> + <td>*hdfs://uri/path/to/hdfs/input/path* || *file:///uri/path/to/local/input/path*</td> + <td>Yes</td> + <td>This value should point to the input directory on hdfs (if running Gora in a distributed Hadoop environment) or to some location input directory on the local file system (if running Gora locally).</td> + </tr> + <tr> + <td>gora.avrostore.output.path=</td> + <td>*hdfs://uri/path/to/hdfs/output/path* || *file:///uri/path/to/local/output/path*</td> + <td>Yes</td> + <td>This value should point to the output directory on hdfs (if running Gora in a distributed Hadoop environment) or to some location output location on the local file system (if running Gora locally).</td> + </tr> + <tr> + <td>gora.avrostore.codec.type=</td> + <td>BINARY || JSON</td> + <td>No</td> + <td>The property key specifying avro encoder/decoder type to use. Can take values <code>BINARY</code> or <code>JSON</code> but resolves to BINARY is one is not supplied.</td> + </tr> + </tboday> +</table> -To configure the MemStore one would typically set the following: -* gora.memstore.xxx=xxx - xyz - -##Gora Core mappings +##AvroStore XML mappings In the stores covered within the gora-core module, no physical mappings are required. -#AvroStore - -##gora.properties -To configure the AvroStore one would typically set the following: -* gora.avrostore.output.path=hdfs://uri/path/to/hdfs/data/directory || file:///uri/path/to/local/data/directory - This value should point to the hdfs data directory (if running Gora in a distributed Hadoop environment) or to some location on the local file system (if running Gora locally). -* gora.avrostore.xxx=xxx - xyz +#DataFileAvroStore -##To configure the DataFileAvroStore one would typically set the following: -* gora.datafileavrostore.xxx=xxx - xyz -* gora.datafileavrostore.xxx=xxx - xyz +##Description +DataFileAvroStore is file based store which extends <codeAvroStore</code> to use Avro's <code>DataFile{Writer,Reader}</code>'s as a backend. +This datastore supports MapReduce. -To configure the MemStore one would typically set the following: -* gora.memstore.xxx=xxx - xyz +##gora.properties +DataFileAvroStore would be configured exactly the same as in AvroStore above with the following exception +<table class="table"> + <thead> + <tr> + <th align="left">Property Key</th> + <th align="left">Property Value</th> + <th align="left">Required</th> + <th align="left">Description</th> + </tr> + </thead> + <tbody> + <tr> + <td>gora.datastore.default=</td> + <td>org.apache.gora.avro.store.DataFileAvroStore</td> + <td>Yes</td> + <td>Implementation of the persistent Java storage class</td> + </tr> + </tboday> +</table> ##Gora Core mappings In the stores covered within the gora-core module, no physical mappings are required. -#AvroStore +#MemStore +Essentially this store is a ConcurrentSkipListMap in which operations run as follows + * put(K key, T Object) - expect average log(n) + * get(K key, String [] fields) - expect average log(n) + * delete(K key) - expect average log(n) ##gora.properties -To configure the AvroStore one would typically set the following: -* gora.avrostore.output.path=hdfs://uri/path/to/hdfs/data/directory || file:///uri/path/to/local/data/directory - This value should point to the hdfs data directory (if running Gora in a distributed Hadoop environment) or to some location on the local file system (if running Gora locally). -* gora.avrostore.xxx=xxx - xyz +MemStore would be configured exactly the same as in AvroStore above with the following exception +<table class="table"> + <thead> + <tr> + <th align="left">Property Key</th> + <th align="left">Property Value</th> + <th align="left">Required</th> + <th align="left">Description</th> + </tr> + </thead> + <tbody> + <tr> + <td>gora.datastore.default=</td> + <td>org.apache.gora.memory.store.MemStore</td> + <td>Yes</td> + <td>Implementation of the Java class used to hold data in memory</td> + </tr> + </tboday> +</table> -##To configure the DataFileAvroStore one would typically set the following: -* gora.datafileavrostore.xxx=xxx - xyz -* gora.datafileavrostore.xxx=xxx - xyz - -To configure the MemStore one would typically set the following: -* gora.memstore.xxx=xxx - xyz - -##Gora Core mappings +##MemStore XML mappings In the stores covered within the gora-core module, no physical mappings are required.