Giter VIP home page Giter VIP logo

samoa's Introduction

SAMOA: Scalable Advanced Massive Online Analysis.

SAMOA is a platform for mining on big data streams. It is a distributed streaming machine learning (ML) framework that contains a programing abstraction for distributed streaming ML algorithms.

SAMOA enables development of new ML algorithms without dealing with the complexity of underlying streaming processing engines (SPE, such as Apache Storm and Apache S4). SAMOA also provides extensibility in integrating new SPEs into the framework. These features allow SAMOA users to develop distributed streaming ML algorithms once and to execute the algorithms in multiple SPEs, i.e., code the algorithms once and execute them in multiple SPEs.

Build

###Storm

Simply clone the repository and install SAMOA.

git clone [email protected]:yahoo/samoa.git
cd samoa
mvn -Pstorm package

The deployable jar for SAMOA will be in target/SAMOA-Storm-0.0.1.jar.

###S4

If you want to compile SAMOA for S4, you will need to install the S4 dependencies manually as explained in Executing SAMOA with Apache S4.

Once the dependencies if needed are installed, you can simply clone the repository and install SAMOA.

git clone [email protected]:yahoo/samoa.git
cd samoa
mvn -Ps4 package

###Local Test Mode

If you want to test SAMOA in a local environment, simply clone the repository and install SAMOA.

git clone [email protected]:yahoo/samoa.git
cd samoa
mvn package

The deployable jar for SAMOA will be in target/SAMOA-Local-0.0.1.jar.

Documentation

The documentation is intended to give an introduction on how to use SAMOA in the various different ways possible. As a user you can use it to develop new algorithms and test different Stream Processing Engines.

  • [0 Getting Started in 5 minutes](../../wiki/Getting Started)

  • [1 Scalable Advanced Massive Online Analysis](../../wiki/Scalable Advanced Massive Online Analysis)

    • [1.0 Building SAMOA](../../wiki/Building SAMOA)
    • [1.1 Executing SAMOA with Apache Storm](../../wiki/Executing SAMOA with Apache Storm)
    • 1.2 Executing SAMOA with Apache S4
  • [2 SAMOA and Machine Learning](../../wiki/SAMOA and Machine Learning)

    • [2.1 Prequential Evaluation Task](../../wiki/Prequential Evaluation Task)
    • [2.2 Vertical Hoeffding Tree Classifier](../../wiki/Vertical Hoeffding Tree Classifier)
    • [2.3 Distributed Stream Clustering](../../wiki/Distributed Stream Clustering)
  • [3 SAMOA Topology](../../wiki/SAMOA Topology)

    • 3.1 Processor
    • [3.2 Content Event](../../wiki/Content Event)
    • 3.3 Stream
    • 3.4 Task
    • [3.5 Topology Builder](../../wiki/Topology Builder)
    • [3.6 Topology Starter](../../wiki/Topology Starter)
    • 3.7 Learner
    • [3.8 Processing Item](../../wiki/Processing Item)
  • [4 Developing New Tasks in SAMOA](../../wiki/Developing New Tasks in SAMOA)

License

The use and distribution terms for this software are covered by the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.html).

samoa's People

Contributors

abifet avatar qibaoyuan avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.