blob: 17173ec2eefeb141919012057a19eda2682769da [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.ambari.metrics.adservice.common
object PhoenixQueryConstants {
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/* Table Name constants */
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
val METRIC_PROFILE_TABLE_NAME = "METRIC_PROFILE"
val METHOD_PARAMETERS_TABLE_NAME = "METHOD_PARAMETERS"
val PIT_ANOMALY_METRICS_TABLE_NAME = "PIT_METRIC_ANOMALIES"
val TREND_ANOMALY_METRICS_TABLE_NAME = "TREND_METRIC_ANOMALIES"
val MODEL_SNAPSHOT = "MODEL_SNAPSHOT"
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/* CREATE statement constants */
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
val CREATE_METRIC_PROFILE_TABLE = ""
val CREATE_METHOD_PARAMETERS_TABLE: String = "CREATE TABLE IF NOT EXISTS %s (" +
"METHOD_NAME VARCHAR, " +
"METHOD_TYPE VARCHAR, " +
"PARAMETERS VARCHAR " +
"CONSTRAINT pk PRIMARY KEY (METHOD_NAME)) " +
"DATA_BLOCK_ENCODING='FAST_DIFF', IMMUTABLE_ROWS=true, COMPRESSION='SNAPPY'"
val CREATE_PIT_ANOMALY_METRICS_TABLE_SQL: String = "CREATE TABLE IF NOT EXISTS %s (" +
"METRIC_UUID BINARY(20) NOT NULL, " +
"METHOD_NAME VARCHAR, " +
"ANOMALY_TIMESTAMP UNSIGNED_LONG NOT NULL, " +
"METRIC_VALUE DOUBLE, " +
"SEASONAL_INFO VARCHAR, " +
"ANOMALY_SCORE DOUBLE, " +
"MODEL_SNAPSHOT VARCHAR, " +
"DETECTION_TIME UNSIGNED_LONG " +
"CONSTRAINT pk PRIMARY KEY (METRIC_UUID, METHOD_NAME, ANOMALY_TIMESTAMP)) " +
"DATA_BLOCK_ENCODING='FAST_DIFF', IMMUTABLE_ROWS=true, TTL=%s, COMPRESSION='SNAPPY'"
val CREATE_TREND_ANOMALY_METRICS_TABLE_SQL: String = "CREATE TABLE IF NOT EXISTS %s (" +
"METRIC_UUID BINARY(20) NOT NULL, " +
"ANOMALY_PERIOD_START UNSIGNED_LONG NOT NULL, " +
"ANOMALY_PERIOD_END UNSIGNED_LONG NOT NULL, " +
"TEST_PERIOD_START UNSIGNED_LONG NOT NULL, " +
"TEST_PERIOD_END UNSIGNED_LONG NOT NULL, " +
"METHOD_NAME VARCHAR, " +
"ANOMALY_SCORE DOUBLE, " +
"MODEL_SNAPSHOT VARCHAR, " +
"DETECTION_TIME UNSIGNED_LONG " +
"CONSTRAINT pk PRIMARY KEY (METRIC_UUID, METHOD_NAME, ANOMALY_PERIOD_START, ANOMALY_PERIOD_END, TEST_PERIOD_START, TEST_PERIOD_END)) " +
"DATA_BLOCK_ENCODING='FAST_DIFF' IMMUTABLE_ROWS=true, TTL=%s, COMPRESSION='SNAPPY'"
val CREATE_MODEL_SNAPSHOT_TABLE: String = "CREATE TABLE IF NOT EXISTS %s (" +
"METRIC_UUID BINARY(20), " +
"METHOD_NAME VARCHAR, " +
"METHOD_TYPE VARCHAR, " +
"PARAMETERS VARCHAR " +
"SNAPSHOT_TIME UNSIGNED LONG NOT NULL " +
"CONSTRAINT pk PRIMARY KEY (METRIC_UUID, METHOD_NAME)) " +
"DATA_BLOCK_ENCODING='FAST_DIFF', IMMUTABLE_ROWS=true, COMPRESSION='SNAPPY'"
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/* UPSERT statement constants */
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
val UPSERT_METHOD_PARAMETERS_SQL: String = "UPSERT INTO %s (METHOD_NAME, METHOD_TYPE, PARAMETERS) VALUES (?,?,?)"
val UPSERT_PIT_ANOMALY_METRICS_SQL: String = "UPSERT INTO %s (METRIC_UUID, ANOMALY_TIMESTAMP, METRIC_VALUE, METHOD_NAME, " +
"SEASONAL_INFO, ANOMALY_SCORE, MODEL_SNAPSHOT, DETECTION_TIME) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"
val UPSERT_TREND_ANOMALY_METRICS_SQL: String = "UPSERT INTO %s (METRIC_UUID, ANOMALY_PERIOD_START, ANOMALY_PERIOD_END, " +
"TEST_PERIOD_START, TEST_PERIOD_END, METHOD_NAME, ANOMALY_SCORE, MODEL_SNAPSHOT, DETECTION_TIME) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"
val UPSERT_MODEL_SNAPSHOT_SQL: String = "UPSERT INTO %s (METRIC_UUID, METHOD_NAME, METHOD_TYPE, PARAMETERS) VALUES (?, ?, ?, ?)"
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/* GET statement constants */
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
val GET_METHOD_PAREMETERS_SQL: String = "SELECT METHOD_NAME, METHOD_TYPE, PARAMETERS FROM %s WHERE METHOD_NAME = %s"
val GET_PIT_ANOMALY_METRIC_SQL: String = "SELECT METRIC_UUID, ANOMALY_TIMESTAMP, METRIC_VALUE, METHOD_NAME, SEASONAL_INFO, " +
"ANOMALY_SCORE, MODEL_SNAPSHOT, DETECTION_TIME FROM %s WHERE METRIC_METRIC_UUID = ? AND ANOMALY_TIMESTAMP > ? AND ANOMALY_TIMESTAMP <= ? " +
"ORDER BY ANOMALY_SCORE DESC"
val GET_TREND_ANOMALY_METRIC_SQL: String = "SELECT METRIC_METRIC_UUID, ANOMALY_PERIOD_START, ANOMALY_PERIOD_END, TEST_PERIOD_START, " +
"ANOMALY_PERIOD_START, METHOD_NAME, ANOMALY_SCORE, MODEL_SNAPSHOT, DETECTION_TIME FROM %s WHERE METHOD = ? AND ANOMALY_PERIOD_END > ? " +
"AND TEST_END_TIME <= ? ORDER BY ANOMALY_SCORE DESC"
val GET_MODEL_SNAPSHOT_SQL: String = "SELECT METRIC_UUID, METHOD_NAME, METHOD_TYPE, PARAMETERS FROM %s WHERE UUID = %s AND METHOD_NAME = %s"
}