Lewis John McGibbney created GORA-413:
-----------------------------------------
Summary: Support creation of dynamic columns within Gora datastore
mapping designs
Key: GORA-413
URL: https://issues.apache.org/jira/browse/GORA-413
Project: Apache Gora
Issue Type: New Feature
Components: gora-hbase
Affects Versions: 0.6
Reporter: Lewis John McGibbney
Fix For: 0.7
The conversation taking place on [dynamically generating HBase
columns|http://www.mail-archive.com/dev%40gora.apache.org/msg05754.html] has
raised an issue that new functionality needs to be added in order to achieve
this.
The main driver for this issue coming to light is that Chukwa logs need to
dynamically create many many columns over time directly dependent on the number
of data chunks we get. Each data chunk has a [Sequence ID], this sequenceID
should be the column name.
The table design will look like this
{code}
Row Key: [Invert Date]:[Data Type]:[Primary Key]
Column Family: log
Column Name: [Sequence ID]
Timestamp: [log entry timestamp]
Example:
Row Key: 2132013102:TT:host1.example.com
Column Family: log
Column Name: 1230
Cell Value: 2013-01-23 12:01:30 INFO This is a log entry.
Timestamp: 1358942490
{code}
The inverted date allow the table to be partitioned by hour or day of the month
or month more easily.
The usage of column name for consecutive sequence to allow fast retrieval in a
linear scan. This format is typically good for retrieve a hour worth of logs
fast for a node. Hence, if we are doing batch scanning of the table in a
rolling window via map reduce job at every hour interval, we get a even spread
the work load to multiple map reduce tasks.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)