/OrleansExp

Primary LanguageTypeScript

Amber Prototype based on Orleans

Nodejs installation(Linux):

sudo apt-get install curl software-properties-common
curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -
sudo apt-get install nodejs

Nodejs installation(Windows):

Download node(LTS version) and install it.

Frontend installation:

Clone this repo then do the following:

cd OrleansExp/TexeraOrleansPrototype/texera/core/new-gui
npm install
npm run build

Amber Requirements:

  1. Install dotnet-sdk 3.0
  2. Install MySQL and login as admin. Using the following command to create a user with username "orleansbackend" and password "orleans-0519-2019" (this can be changed at Constants.cs)
CREATE USER 'orleansbackend'@'%' IDENTIFIED BY 'orleans-0519-2019';
  1. Create a mysql database called 'amberorleans' and grant all privileges by using the following commands.
CREATE DATABASE amberorleans;
GRANT ALL PRIVILEGES ON amberorleans. * TO 'orleansbackend'@'%';
FLUSH PRIVILEGES;
USE amberorleans;
  1. Run the scripts MySQL-Main.sql, MySQL-Clustering.sql to create the necessary tables and insert entries in the database.

Run Amber on your local machine:

1.Start MySql Server on local

2.Start Silo:

Open terminal and enter:

cd OrleansExp/TexeraOrleansPrototype/SiloHost
dotnet run -c Release

3.Start Client:

Open another terminal and enter:

cd TexeraOrleansBackend/TexeraOrleansPrototype/webapi-project
dotnet run

4.Create workflow through Web GUI

This is a step-by-step guide for creating and runnning Workflow TPC-H W1 in Amber paper. Download 1G TPC-H sample dataset to your local machine. Go to http://localhost:7070, you can see a web GUI for Amber: web GUI

Drag Source -> Scan operator from left panel and drop it on the canvas: Scan

Then, drag and drop Utilities -> Comparison, LocalGroupBy, GlobalGroupBy and Sort -> Sort respectively. They will automatically be linked with the previous operator. Your workflow should look like this: W1

You can specifiy properties for each operator on the right panel. Each operator should have the following properties:

Scan:

Scan properties

Comparison:

Comparison properties

LocalGroupBy:

LocalGroupBy properties

GlobalGroupBy:

GlobalGroupBy properties

Sort:

Sort properties

Click the "Run" button in upper-right corner to run the workflow. After completion, the following result will pop up from the bottom:

result