blob: 141b6b99c44e2eea6cf18bf2784922dab01d295d [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.
*
* @file path.sql_in
*
* @brief SQL functions for pathing functions
* @date Sep 2015
*
*/
/* ----------------------------------------------------------------------- */
DROP TABLE IF EXISTS "Weblog", "Path_output", "Path_output_tuples" CASCADE;
CREATE TABLE "Weblog" (event_timestamp TIMESTAMP,
user_id INT,
age_group INT,
income_group INT,
gender TEXT,
region TEXT,
household_size INT,
"Click_event" INT,
purchase_event INT,
revenue FLOAT,
"Margin" FLOAT);
INSERT INTO "Weblog" VALUES
(to_timestamp('04/14/2012 23:43:00', 'MM/DD/YYYY HH24:MI:SS'), 102201, 3, 3, 'Female', 'East', 3, 1, 1, 112, 36),
(to_timestamp('04/14/2012 23:56:00', 'MM/DD/YYYY HH24:MI:SS'), 101881, 2, 4, 'Male', 'West', 5, 0, 0, 0, 0),
(to_timestamp('04/15/2012 01:04:00', 'MM/DD/YYYY HH24:MI:SS'), 100821, 1, 4, 'Unknown', 'West', 3, 0, 0, 0, 0),
(to_timestamp('04/16/2012 23:57:00', 'MM/DD/YYYY HH24:MI:SS'), 101331, 2, 4, 'Female', 'East', 5, 1, 1, 456, 77);
/*
SELECT * FROM weblog ORDER BY event_timestamp ASC;
*/
SELECT path(
'"Weblog"', -- Name of the table
'"Path_output"', -- Table name to store the path results
'user_id, age_group > 1, income_group > 1', -- Partition expression to group the data table
'event_timestamp ASC', -- Order expression to sort the tuples of the data table
'I:="Click_event"=0 AND purchase_event=0, Click:="Click_event"=1 AND purchase_event=0, Conv:=purchase_event=1', -- Definition of various symbols used in the pattern definition
'I(click){1}(CONV){1}', -- Definition of the path pattern to search for
'COUNT(*)' -- Aggregate/window functions to be applied on the matched paths
,TRUE
);