Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Introduction to Apache Gora

Presented at the JPL Open Developer Meetup on Thursday 4th Feburary 2016. This presentation covers an introuction to Apache Gora including updates to datastore support for version 0.7-SNAPSHOT.
by

Lewis McGibbney

on 4 February 2016

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Introduction to Apache Gora

What is it?
The Apache Gora open source framework provides an in-memory data model and persistence for big data. Gora supports persisting to column stores, key value stores, document stores and RDBMSs, and analyzing the data with extensive Apache Hadoop™ MapReduce support. Gora uses the Apache Software License v2.0.
How do you use it?
A piece of cake...
Model your objects as an
Avro schema
(JSON)
Write an
XML mapping
for your datastore
Define some trivial name/value properties in
gora.properties
file
Generate persistent data beans via the GoraCompiler

Then you consume the
DataStore API
within your client code and begin mapping data to/between Gora-supported datastores.
An Example
'WebPage'
Datastore Support
Introduction to
Apache Gora

Why Gora?
Although there are various excellent ORM frameworks for relational databases, data modeling in NoSQL data stores differ profoundly from their relational cousins. Moreover, data-model agnostic frameworks such as JDO are not sufficient for use cases, where one needs to use the full power of the data models in column stores. Gora fills this gap.
Project Goals
Simple... to become the standard data representation and persistence framework for big data.
Data Persistence
: Persisting objects to Column stores such as Apache HBase™, Apache Cassandra™, Hypertable; key-value stores such as Voldermort, Redis, etc; flat files in local file system of Hadoop HDFS;
Data Access
: An easy to use Java-friendly common API for accessing the data regardless of its location;
Indexing
: Persisting objects to Apache Lucene and Apache Solr indexes, accessing/querying the data with Gora API;
Analysis
: Accesing the data and making analysis through adapters for Apache Pig, Apache Hive and Cascading;
MapReduce support
: Out-of-the-box and extensive MapReduce (Apache Hadoop™) support for data in the data store
Avro Schema
bit.ly/1QIDNQM
XML Mapping File (HBase)
bit.ly/1oadsBM
gora.properties
bit.ly/1PDaX5m
Generated persistent data beans
bit.ly/1PDb0y4
2.0.2
1.10.15
1.7.6
0.98.8-hadoop2
(although also tested with 1.X)
1.2.1 & 2.5.2
1.6.4
3.2.0
4.10.4
1.4.1
Community
Mailing Lists
http://gora.apache.org/mailing_lists.html
Tutorial
http://gora.apache.org/current/tutorial.html
Download
http://gora.apache.org/downloads.html
Source
https://github.com/apache/gora
Full transcript