GithubHelp home page GithubHelp logo

rrm's Introduction

RRM

SQL code to be executed in the DB

Create a DB user called ACCESS_GRANTOR

CREATE USER ACCESS_GRANTOR PASSWORD "Abcd123!" NO FORCE_FIRST_PASSWORD_CHANGE;

-- create role
CREATE ROLE "data::external_access_g";
CREATE ROLE "data::external_access";

GRANT "data::external_access_g", "data::external_access" TO ACCESS_GRANTOR WITH ADMIN OPTION; 

GRANT AFL__SYS_AFL_AFLPAL_EXECUTE_WITH_GRANT_OPTION, AFL__SYS_AFL_AFLPAL_EXECUTE_WITH_GRANT_OPTION to "data::external_access_g";
GRANT AFL__SYS_AFL_AFLPAL_EXECUTE, AFL__SYS_AFL_AFLPAL_EXECUTE_WITH_GRANT_OPTION to "data::external_access" ;

Create a user-provided service call CC_ACCESS and provied the following json as credentials:

{
    "password": "Abcd123!",
    "schema": "ACCESS_GRANTOR",
    "tags": [
        "hana"
    ],
    "user": "ACCESS_GRANTOR"
}

SQL code to be executed inside the HDI container

-- create results table 
DROP TABLE PAL_AUTOARIMA_MODEL_TBL;  -- for the forecast followed
CREATE COLUMN TABLE PAL_AUTOARIMA_MODEL_TBL ("KEY" NVARCHAR(100), "VALUE" NVARCHAR(5000));

DROP TABLE PAL_AUTOARIMA_FIT_TBL;  -- for the forecast followed
CREATE COLUMN TABLE PAL_AUTOARIMA_FIT_TBL ("TIMESTAMP" INTEGER, "FITTED" DOUBLE, "RESIDUALS" double);

-- training 
DO
BEGIN
DECLARE param_name VARCHAR(5000) ARRAY;
DECLARE int_value INTEGER ARRAY;
DECLARE double_value DOUBLE ARRAY;
DECLARE string_value VARCHAR(5000) ARRAY;
param_name[1] := N'SEARCH_STRATEGY';
int_value[1] := 1;
double_value[1] := NULL;
string_value[1] := NULL;
param_name[2] := N'MAX_ORDER';
int_value[2] := 1;
double_value[2] := NULL;
string_value[2] := NULL;
param_name[3] := N'ALLOW_LINEAR';
int_value[3] := 1;
double_value[3] := NULL;
string_value[3] := NULL;
param_name[4] := N'OUTPUT_FITTED';
int_value[4] := 1;
double_value[4] := NULL;
string_value[4] := NULL;
param_name[5] := N'THREAD_RATIO';
int_value[5] := NULL;
double_value[5] := 1.0;
string_value[5] := NULL;
param_name[6] := N'DEPENDENT_VARIABLE';
int_value[6] := NULL;
double_value[6] := NULL;
string_value[6] := N'Y';
params = UNNEST(:param_name, :int_value, :double_value, :string_value);
in_0 = SELECT "TIMESTAMP", "Y" FROM "RPM_1"."TIMESERIES_HIST";
CALL "pal::autoarima"(:in_0, :params, out_0, out_1);

truncate table PAL_AUTOARIMA_MODEL_TBL;
insert into PAL_AUTOARIMA_MODEL_TBL (SELECT * FROM :out_0);
truncate table PAL_AUTOARIMA_FIT_TBL;
insert into PAL_AUTOARIMA_FIT_TBL (SELECT * FROM :out_1);

END;


-- prediction
DO
(IN in_0 TABLE ("TIMESTAMP" INT, "Y" DOUBLE) => "RPM_1"."TIMESERIES_TEST",
 IN in_1 TABLE ("KEY" NVARCHAR(100), "VALUE" NVARCHAR(5000)) => "PAL_AUTOARIMA_MODEL_TBL")
 
BEGIN
DECLARE param_name VARCHAR(5000) ARRAY;
DECLARE int_value INTEGER ARRAY;
DECLARE double_value DOUBLE ARRAY;
DECLARE string_value VARCHAR(5000) ARRAY;
param_name[1] := N'FORECAST_LENGTH';
int_value[1] := 10;
double_value[1] := NULL;
string_value[1] := NULL;
params = UNNEST(:param_name, :int_value, :double_value, :string_value);
CALL "pal::arima_forecast"(:in_0, :in_1, :params, out_0);
CREATE LOCAL TEMPORARY COLUMN TABLE "#PAL_ARIMA_FORECAST_RESULT_TBL" AS (SELECT * FROM :out_0);
END;


select * from #PAL_ARIMA_FORECAST_RESULT_TBL;


rrm's People

Contributors

frankgottfried avatar

Stargazers

 avatar

Watchers

 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.