Gora reads necessary configuration from a properties file name
gora.properties
.
The file is searched in the classpath, which is
obtained using the ClassLoader
of the DataStoreFactory
class.
The following properties are recognized:
Property | Required | Default | Explanation |
---|---|---|---|
gora.datastore.default | No | – | The full classname of the default data store implementation to use |
gora.datastore.autocreateschema | No | true | Whether to create schemas automatically |
gora.datastore.default
is perhaps the most important property in this file.
This property configures the default DataStore implementation to use.
However, other data stores can still be instantiated thorough the API.
Data store implementation in Gora distribution include:
DataStore Implementation | Full Class Name | Module Name | Explanation |
---|---|---|---|
AvroStore | org.apache.gora.avro.store.AvroStore | gora-core | An adapter DataStore for binary-compatible Apache Avro serializations. AvroDataStore supports Binary and JSON serializations. |
DataFileAvroStore | org.apache.gora.avro.store.DataFileAvroStore | gora-core | DataFileAvroStore is file based store which uses Avro's DataFile{Writer,Reader}'s as a backend. This datastore supports mapreduce. |
AccumuloStore | org.apache.gora.accumulo.store.AccumuloStore | gora-accumulo | DataStore for Apache Accumulo. |
HBaseStore | org.apache.gora.hbase.store.HBaseStore | gora-hbase | DataStore for Apache HBase. |
CassandraStore | org.apache.gora.cassandra.store.CasssandraStore | gora-cassandra | DataStore for Apache Cassandra. |
SolrStore | org.apache.gora.solr.store.SolrStore | gora-solr | A DataStore implementation for Apache Solr. |
MemStore | org.apache.gora.memory.store.MemStore | gora-core | Memory based DataStore implementation for tests. |
Dynamodb | org.apache.gora.dynamodb.store.DyanmoDBStore | gora-dynamodb | Webservices-based datastore implementation for Amazon's DynamoDB. |
MongoStore | org.apache.gora.mongodb.store.MongoStore | gora-mongodb | A DataStore implementation for MongoDB document storage. |
Some of the properties can be customized per datastore. The format of these
properties is as follows: gora.<data_store_class>.<property_name>
.
Note that <data_store_class>
is the classname of the datastore
implementation w/o the package name, for example HbaseStore
.
You can also use the string datastore instead of the specific
data store class name, in which case, the property setting is effective
to all data stores. The following properties can be set per data store.
Property | Required | Default Value | Explanation |
---|---|---|---|
gora.<data_store_class>.autocreateschema No true Whether to create schemas automatically for the specific data store | |||
gora.<data_store_class>.mapping.file No gora-{accumulo|hbase|cassandra|sql|dynamodb}-mapping.xml The name of the mapping file |
Other than the properties above, some of the data stores have their own configurations. These properties are listed at the module documentations: