この例では、以下のコードを示します。
- Aster Databaseでのテーブルの作成と挿入
- テーブルを所有するAdvanced SQL Engineユーザーの作成
- tptスクリプト
- JobVariablesFile
- tptスクリプトの実行
Aster Databaseでテーブルを作成、挿入するコード
このコードでは、トレーニング テーブル、aster_nb_trainerSCを作成、挿入し、トレーニング テーブルとNaive Bayes分類子関数を使用してモデル テーブル、aster_nb_modelSCを作成します。
/* Create training table */ DROP TABLE IF EXISTS aster_nb_trainerSC; CREATE TABLE aster_nb_trainerSC ( id INT, year INT, color VARCHAR (100), type VARCHAR (100), origin VARCHAR (100), stolen VARCHAR (100), PARTITION KEY (id) );
/* Populate training table */ INSERT INTO aster_nb_trainerSC VALUES (1,3,'red','sports','domestic','Yes'), (2,9,'red','sports','domestic','No'), (3,1,'red','sports','domestic','Yes'), (4,8,'yellow','sports','domestic','No'), (5,2,'yellow','sports','imported','Yes');
/* Create model table from training table */
DROP TABLE IF EXISTS aster_nb_modelSC;
CREATE TABLE aster_nb_modelSC distribute by hash(class_nb) AS (
SELECT * FROM naiveBayesReduce (
ON (
SELECT * FROM naiveBayesMap (
ON aster_nb_trainerSC
Response ('stolen')
NumericInputs ('year')
CategoricalInputs ('color','origin','type')
)
) PARTITION BY class_nb
)
);
Advanced SQL Engineユーザーを作成するコード
CREATE USER sample_user AS PASSWORD = sample_user PERM = 10e6*(HASHAMP()+1); GRANT ALL ON dbc TO sample_user;
tptスクリプト、astermodel.tpt
DEFINE JOB PRODUCT_SOURCE_LOAD
DESCRIPTION 'LOAD PRODUCT DEFINITION TABLE'
(
DEFINE SCHEMA PRODUCT_SOURCE_SCHEMA
DESCRIPTION 'PRODUCT INFORMATION SCHEMA'
(
class_nb VARCHAR(128),
variable_nb VARCHAR(128),
type_nb VARCHAR(128),
category VARCHAR(32),
cnt BIGINT,
sum_nb FLOAT,
sum_sq FLOAT,
total_cnt BIGINT
);
STEP STEP_CREATE_DDL
(
APPLY
('DROP TABLE '||@TargetTable||';'),
('CREATE MULTISET TABLE '||@TargetTable||'(
class_nb VARCHAR(128),
variable_nb VARCHAR(128),
type_nb VARCHAR(128),
category VARCHAR(32),
cnt BIGINT,
sum_nb FLOAT,
sum_sq FLOAT,
total_cnt BIGINT) NO PRIMARY INDEX;
')
TO OPERATOR ($DDL()[1]);
);
Step Insert Tables
(
APPLY
('Ins '||@TargetTable||'(
:"class_nb"
,:"variable_nb"
,:"type_nb"
,:"category"
,:"cnt"
,:"sum_nb"
,:"sum_sq"
,:"total_cnt");'
)
TO OPERATOR ($LOAD()[1])
SELECT * FROM OPERATOR ($ODBC(PRODUCT_SOURCE_SCHEMA)[1]);
);
);
JobVariablesFile、attr.txt
DDLTdpid = 'td_host_name_or_ip' ,DDLUserName = 'alice' ,DDLUserPassword = 'alice' ,DDLErrorList = '[3807]' ,DDLPrivateLogName = 'DDL001S1' ,TargetTable = 'td_nb_modelsc' ,ODBCPrivateLogName = 'ODBC039P1' ,ODBCDSNName = 'shruti' ,TruncateData = 'Y' ,ODBCUserName = 'db_superuser' ,ODBCUserPassword = 'db_superuser' ,LOADPrivateLogName = 'ODBC039P1' ,LOADTDPID = 'td_host_name_or_ip' ,LOADUserName = 'alice' ,LOADUserPassword = 'alice' ,SelectStmt = 'SELECT * FROM aster_nb_modelsc;' ,LOADTargetTable = 'td_nb_modelsc'
tptスクリプトを実行するコマンド
tbuild -f aster_model.tpt -v attr.txt -j urr1