25.10.2016 Views

SAP HANA Predictive Analysis Library (PAL)

sap_hana_predictive_analysis_library_pal_en

sap_hana_predictive_analysis_library_pal_en

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

"DISTANCE" DOUBLE<br />

);<br />

DROP TYPE <strong>PAL</strong>_KMEANS_DATA_T;<br />

CREATE TYPE <strong>PAL</strong>_KMEANS_DATA_T AS TABLE(<br />

"ID" INT,<br />

"AGE" DOUBLE,<br />

"INCOME" DOUBLE,<br />

PRIMARY KEY("ID")<br />

);<br />

DROP TYPE <strong>PAL</strong>_KMEANS_CENTERS_T;<br />

CREATE TYPE <strong>PAL</strong>_KMEANS_CENTERS_T AS TABLE(<br />

"CENTER_ID" INT,<br />

"V000" DOUBLE,<br />

"V001" DOUBLE<br />

);<br />

DROP TYPE <strong>PAL</strong>_CONTROL_T;<br />

CREATE TYPE <strong>PAL</strong>_CONTROL_T AS TABLE(<br />

"NAME" VARCHAR(100),<br />

"INTARGS" INTEGER,<br />

"DOUBLEARGS" DOUBLE,<br />

"STRINGARGS" VARCHAR(100)<br />

);<br />

-- create kmeans procedure<br />

DROP TABLE <strong>PAL</strong>_KMEANS_PDATA_TBL;<br />

CREATE COLUMN TABLE <strong>PAL</strong>_KMEANS_PDATA_TBL(<br />

"POSITION" INT,<br />

"SCHEMA_NAME" NVARCHAR(256),<br />

"TYPE_NAME" NVARCHAR(256),<br />

"PARAMETER_TYPE" VARCHAR(7)<br />

);<br />

INSERT INTO <strong>PAL</strong>_KMEANS_PDATA_TBL VALUES (1, 'DM_<strong>PAL</strong>', '<strong>PAL</strong>_KMEANS_DATA_T', 'IN');<br />

INSERT INTO <strong>PAL</strong>_KMEANS_PDATA_TBL VALUES (2, 'DM_<strong>PAL</strong>', '<strong>PAL</strong>_CONTROL_T', 'IN');<br />

INSERT INTO <strong>PAL</strong>_KMEANS_PDATA_TBL VALUES (3, 'DM_<strong>PAL</strong>', '<strong>PAL</strong>_KMEANS_RESASSIGN_T',<br />

'OUT');<br />

INSERT INTO <strong>PAL</strong>_KMEANS_PDATA_TBL VALUES (4, 'DM_<strong>PAL</strong>', '<strong>PAL</strong>_KMEANS_CENTERS_T',<br />

'OUT');<br />

CALL SYS.AFLLANG_WRAPPER_PROCEDURE_DROP('DM_<strong>PAL</strong>', '<strong>PAL</strong>_KMEANS_PROC');<br />

CALL SYS.AFLLANG_WRAPPER_PROCEDURE_CREATE('AFL<strong>PAL</strong>', 'KMEANS', 'DM_<strong>PAL</strong>',<br />

'<strong>PAL</strong>_KMEANS_PROC', <strong>PAL</strong>_KMEANS_PDATA_TBL);<br />

DROP TABLE <strong>PAL</strong>_KMEANS_DATA_TBL;<br />

CREATE COLUMN TABLE <strong>PAL</strong>_KMEANS_DATA_TBL LIKE <strong>PAL</strong>_KMEANS_DATA_T;<br />

INSERT INTO <strong>PAL</strong>_KMEANS_DATA_TBL VALUES (0 , 20, 100000);<br />

INSERT INTO <strong>PAL</strong>_KMEANS_DATA_TBL VALUES (1 , 21, 101000);<br />

INSERT INTO <strong>PAL</strong>_KMEANS_DATA_TBL VALUES (2 , 22, 102000);<br />

INSERT INTO <strong>PAL</strong>_KMEANS_DATA_TBL VALUES (3 , 30, 200000);<br />

INSERT INTO <strong>PAL</strong>_KMEANS_DATA_TBL VALUES (4 , 31, 201000);<br />

INSERT INTO <strong>PAL</strong>_KMEANS_DATA_TBL VALUES (5 , 32, 202000);<br />

INSERT INTO <strong>PAL</strong>_KMEANS_DATA_TBL VALUES (6 , 40, 400000);<br />

INSERT INTO <strong>PAL</strong>_KMEANS_DATA_TBL VALUES (7 , 41, 401000);<br />

INSERT INTO <strong>PAL</strong>_KMEANS_DATA_TBL VALUES (8 , 42, 402000);<br />

DROP TABLE #<strong>PAL</strong>_CONTROL_TBL;<br />

CREATE LOCAL TEMPORARY COLUMN TABLE #<strong>PAL</strong>_CONTROL_TBL(<br />

"NAME" VARCHAR(100),<br />

"INTARGS" INTEGER,<br />

"DOUBLEARGS" DOUBLE,<br />

"STRINGARGS" VARCHAR(100)<br />

);<br />

INSERT INTO #<strong>PAL</strong>_CONTROL_TBL VALUES ('THREAD_NUMBER', 2, NULL, NULL);<br />

INSERT INTO #<strong>PAL</strong>_CONTROL_TBL VALUES ('GROUP_NUMBER', 3, NULL, NULL);<br />

INSERT INTO #<strong>PAL</strong>_CONTROL_TBL VALUES ('INIT_TYPE', 1, NULL, NULL);<br />

INSERT INTO #<strong>PAL</strong>_CONTROL_TBL VALUES ('DISTANCE_LEVEL', 2, NULL, NULL);<br />

INSERT INTO #<strong>PAL</strong>_CONTROL_TBL VALUES ('MAX_ITERATION', 100, NULL, NULL);<br />

INSERT INTO #<strong>PAL</strong>_CONTROL_TBL VALUES ('EXIT_THRESHOLD', NULL, 0.000001, NULL);<br />

INSERT INTO #<strong>PAL</strong>_CONTROL_TBL VALUES ('NORMALIZATION', 0, NULL, NULL);<br />

--clean kmeans result<br />

DROP TABLE <strong>PAL</strong>_KMEANS_RESASSIGN_TBL;<br />

CREATE COLUMN TABLE <strong>PAL</strong>_KMEANS_RESASSIGN_TBL LIKE <strong>PAL</strong>_KMEANS_RESASSIGN_T;<br />

DROP TABLE <strong>PAL</strong>_KMEANS_CENTERS_TBL;<br />

<strong>SAP</strong> <strong>HANA</strong> <strong>Predictive</strong> <strong>Analysis</strong> <strong>Library</strong> (<strong>PAL</strong>)<br />

End-to-End Scenarios P U B L I C 553

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!