QPR ProcessAnalyzer Native App in Snowflake: Difference between revisions

From QPR ProcessAnalyzer Wiki
Jump to navigation Jump to search
No edit summary
 
(22 intermediate revisions by the same user not shown)
Line 1: Line 1:
QPR ProcessAnalyzer can run as Snowflake Native App which allows process mining analyses for data in Snowflake Data Cloud. To get started, QPR ProcessAnalyzer Native App needs to be installed by following the Snowflake instructions:
* [https://other-docs.snowflake.com/en/native-apps/consumer-installing-container#install-an-application-from-a-snowflake-marketplace-listing Install app from the marketplace listing].
* [https://other-docs.snowflake.com/en/native-apps/consumer-installing-container#install-an-app-with-containers-from-a-privately-shared-listing Install app from a private listing]


QPR ProcessAnalyzer can run as Snowflake Native App which allows process mining analyses for data in Snowflake Data Cloud. To start using the QPR ProcessAnalyzer app, go to the [https://app.snowflake.com/marketplace Snowflake Marketplace] and search "QPR ProcessAnalyzer". Click the '''Get''' button in the marketplace, grant required account level privileges to the app, click the '''Activate''' button to install the app, and click the '''Launch App''' button.
== Application access to data ==
QPR ProcessAnalyzer Native App needs an access to data in Snowflake tables, limited by permissions given to the QPR ProcessAnalyzer Native App. For example, following SQL commands grant permission to read a specific table in Snowflake:
<pre>
GRANT USAGE ON DATABASE <database> TO APPLICATION QPR_PROCESSANALYZER;
GRANT USAGE ON SCHEMA <database>.<schema> TO APPLICATION QPR_PROCESSANALYZER;
GRANT SELECT ON TABLE <database>.<schema>.<table> TO APPLICATION QPR_PROCESSANALYZER;
</pre>
 
Following example grants access to all tables in a specific schema:
<pre>
GRANT USAGE ON DATABASE <database> TO APPLICATION QPR_PROCESSANALYZER;
GRANT USAGE ON SCHEMA <database>.<schema> TO APPLICATION QPR_PROCESSANALYZER;
GRANT SELECT ON ALL TABLES IN SCHEMA <database>.<schema> TO APPLICATION QPR_PROCESSANALYZER;
</pre>


== Get started ==
If you also want to modify data using QPR ProcessAnalyzer (e.g., import CSV files), following privileges are needed:
QPR ProcessAnalyzer Native App requires eventlog data extracted from source systems. Data in Snowflake need to be converted into the suitable eventlog format.
<pre>
GRANT USAGE ON DATABASE <database> TO APPLICATION QPR_PROCESSANALYZER;
GRANT USAGE ON SCHEMA <database>.<schema> TO APPLICATION QPR_PROCESSANALYZER;
GRANT SELECT,UPDATE,INSERT,DELETE,TRUNCATE ON ALL TABLES IN SCHEMA <database>.<schema> TO APPLICATION QPR_PROCESSANALYZER;
</pre>


To get started, you can also import example eventlogs as follows:
If you already have the data, see how to [https://www.qpr.com/hubfs/Quick%20Start%20Guide_Getting%20Started%20with%20QPR%20ProcessAnalyzer%20-%20Connecting%20to%20Snowflake-1.pdf create datatables and model (PDF)].
# [[QPR_ProcessAnalyzer_Project_Workspace#Creating_Project|Create project]] in the Workspace.
# Go to the project and [[QPR_ProcessAnalyzer_Project_Workspace#Importing_Model|import model]] from [[Sample_Eventlog_Files|sample eventlog files]].
# Double-click the model to start Process Discovery or [[QPR_ProcessAnalyzer_Project_Workspace#Creating_Dashboard|create dashboard]].


== Manage access ==
== User access to application ==
=== User access to application ===
You can give access to the QPR ProcessAnalyzer Native App by clicking the '''Manage access''' button in the app page and add roles to the app users. The app users can use the QPR ProcessAnalyzer Native App and access Snowflake data through the application.
You can give access to the QPR ProcessAnalyzer Native App by clicking the '''Manage access''' button in the app page and add roles to the app users. The app users can use the QPR ProcessAnalyzer Native App and access Snowflake data through the application.


Line 18: Line 34:
QPR ProcessAnalyzer user management can be used to control access for different users.
QPR ProcessAnalyzer user management can be used to control access for different users.


=== Application access to data ===
== Manage warehouse ==
QPR ProcessAnalyzer Native App needs an access to data in Snowflake that is limited by permissions given to the owner role of the QPR ProcessAnalyzer service. Give permissions to that role for databases containing source eventlog data that will be analyzed in the QPR ProcessAnalyzer. At least following privileges are needed:
QPR ProcessAnalyzer Native App includes an XS-size virtual warehouse by default named '''QPR_PROCESSANALYZER_WAREHOUSE'''. Its size and other settings can be changed in Snowsight (''Admin'' -> ''Warehouses''), like for any other warehouse. However, changing the default warehouse to another warehouse is not possible.
* Database: USAGE
 
* Schema : USAGE
If you need to use several warehouses in the app, you can set [[QPR_ProcessAnalyzer_Project_Workspace#Snowflake_Native_App|project-specific connection strings]].
* Table/view: SELECT
 
== Quick start with example data ==
QPR ProcessAnalyzer Native App requires eventlog data extracted from source systems. Data in Snowflake need to be converted into the suitable eventlog format.


== Manage warehouse ==
To get started, you can also import example eventlogs as follows:
QPR ProcessAnalyzer Native App includes an XS-size virtual warehouse by default named '''QPR_PROCESSANALYZER_WAREHOUSE'''. Its size and other settings can be changed in Snowsight (''Admin'' -> ''Warehouses''), like for any other warehouse.
# [[QPR_ProcessAnalyzer_Project_Workspace#Creating_Project|Create project]] in the Workspace.
# Go to the project and [[QPR_ProcessAnalyzer_Project_Workspace#Importing_Model|import model]] from [[Sample_Eventlog_Files|sample eventlog files]].
# Double-click the model to start Process Discovery or [[QPR_ProcessAnalyzer_Project_Workspace#Creating_Dashboard|create dashboard]].


It's also possible use another warehouse, by changing it using the following command:
== Additional notes ==
Queries done by QPR ProcessAnalyzer appear in the Snowsight Query History as user ''QPR_PROCESSANALYZER_SERVICE''. The SQL text is not shown in the Query History for queries originating from QPR ProcessAnalyzer.


QPR ProcessAnalyzer Native App automatically starts up when a user logs in. QPR ProcessAnalyzer doesn't stop automatically, but it can be stopped manually if desired as follows:
<pre>
<pre>
ALTER SERVICE <service_name> SET QUERY_WAREHOUSE = <warehouse_name>;
ALTER COMPUTE POOL QPR_PROCESSANALYZER_APP_COMPUTE_POOL SUSPEND);
</pre>
</pre>
== Notes ==
QPR ProcessAnalyzer (running in the Snowpark Container Services) automatically starts up when a user logs in. QPR ProcessAnalyzer container doesn't stop automatically, but it can be stopped manually if desired (ALTER SERVICE <name> SUSPEND). When the QPR ProcessAnalyzer container is not running, the compute pool will stop automatically after an hour. Also the compute pool will startup automatically when QPR ProcessAnalyzer container needs to run.


Snowflake has a one minute timeout for http requests, so long running operations may reach this timeout and fail. For example, importing large model from pacm or json file may encounter this situation. However, CSV data import doesn't have this issue.
Snowflake has a one minute timeout for http requests, so long running operations may reach this timeout and fail. For example, importing large model from pacm or json file may encounter this situation. However, CSV data import doesn't have this issue.


Queries done by QPR ProcessAnalyzer appear in the Snowsight Query History as user ''QPRPA_SERVER''. The SQL text is not shown in the Query History for queries originating from the native app.
QPR ProcessAnalyzer requires following account level privileges: BIND SERVER ENDPOINT, CREATE COMPUTE POOL, and CREATE WAREHOUSE. Granting these privileges is requested during the installation.


QPR ProcessAnalyzer requires following account level privileges: BIND SERVER ENDPOINT, CREATE COMPUTE POOL, CREATE WAREHOUSE. These privileges are need to be granted during the application installation.
Following functionality is not available in the QPR ProcessAnalyzer Native App:
* In-memory models
* Datatables stored to SQL Server
* Connections to external sources, such as SAP, Salesforce, ODBC, and Web Service
* Scripts using SQL language
* AI Assistant


== Uninstall ==
== Uninstall ==
QPR ProcessAnalyzer Native App can be uninstalled like any other app. Note that if QPR ProcessAnalyzer is uninstalled, the configuration data, such as projects, models, dashboards and scripts, are lost. However, the eventlog data residing in Snowflake tables are preserved.
QPR ProcessAnalyzer Native App can be uninstalled by selecting '''Uninstall''' for the app. Note that if QPR ProcessAnalyzer is uninstalled, the configuration data contained by the application is lost (such as projects, models, dashboards and scripts). However, the eventlog data residing in Snowflake tables are preserved because they are located outside the app.

Latest revision as of 18:03, 14 November 2024

QPR ProcessAnalyzer can run as Snowflake Native App which allows process mining analyses for data in Snowflake Data Cloud. To get started, QPR ProcessAnalyzer Native App needs to be installed by following the Snowflake instructions:

Application access to data

QPR ProcessAnalyzer Native App needs an access to data in Snowflake tables, limited by permissions given to the QPR ProcessAnalyzer Native App. For example, following SQL commands grant permission to read a specific table in Snowflake:

GRANT USAGE ON DATABASE <database> TO APPLICATION QPR_PROCESSANALYZER;
GRANT USAGE ON SCHEMA <database>.<schema> TO APPLICATION QPR_PROCESSANALYZER;
GRANT SELECT ON TABLE <database>.<schema>.<table> TO APPLICATION QPR_PROCESSANALYZER;

Following example grants access to all tables in a specific schema:

GRANT USAGE ON DATABASE <database> TO APPLICATION QPR_PROCESSANALYZER;
GRANT USAGE ON SCHEMA <database>.<schema> TO APPLICATION QPR_PROCESSANALYZER;
GRANT SELECT ON ALL TABLES IN SCHEMA <database>.<schema> TO APPLICATION QPR_PROCESSANALYZER;

If you also want to modify data using QPR ProcessAnalyzer (e.g., import CSV files), following privileges are needed:

GRANT USAGE ON DATABASE <database> TO APPLICATION QPR_PROCESSANALYZER;
GRANT USAGE ON SCHEMA <database>.<schema> TO APPLICATION QPR_PROCESSANALYZER;
GRANT SELECT,UPDATE,INSERT,DELETE,TRUNCATE ON ALL TABLES IN SCHEMA <database>.<schema> TO APPLICATION QPR_PROCESSANALYZER;

If you already have the data, see how to create datatables and model (PDF).

User access to application

You can give access to the QPR ProcessAnalyzer Native App by clicking the Manage access button in the app page and add roles to the app users. The app users can use the QPR ProcessAnalyzer Native App and access Snowflake data through the application.

QPR ProcessAnalyzer has a separate User Management which is integrated into Snowflake user management. When QPR ProcessAnalyzer is installed, the Snowflake user who installed the application, is automatically created to QPR ProcessAnalyzer user management as system administrator. This user needs to open QPR ProcessAnalyzer, go to the User Management, and create other users. If you see the QPR ProcessAnalyzer login page when trying to access the QPR ProcessAnalyzer Native App, there is no user available in the QPR ProcessAnalyzer user management corresponding to your Snowflake user name.

QPR ProcessAnalyzer user management can be used to control access for different users.

Manage warehouse

QPR ProcessAnalyzer Native App includes an XS-size virtual warehouse by default named QPR_PROCESSANALYZER_WAREHOUSE. Its size and other settings can be changed in Snowsight (Admin -> Warehouses), like for any other warehouse. However, changing the default warehouse to another warehouse is not possible.

If you need to use several warehouses in the app, you can set project-specific connection strings.

Quick start with example data

QPR ProcessAnalyzer Native App requires eventlog data extracted from source systems. Data in Snowflake need to be converted into the suitable eventlog format.

To get started, you can also import example eventlogs as follows:

  1. Create project in the Workspace.
  2. Go to the project and import model from sample eventlog files.
  3. Double-click the model to start Process Discovery or create dashboard.

Additional notes

Queries done by QPR ProcessAnalyzer appear in the Snowsight Query History as user QPR_PROCESSANALYZER_SERVICE. The SQL text is not shown in the Query History for queries originating from QPR ProcessAnalyzer.

QPR ProcessAnalyzer Native App automatically starts up when a user logs in. QPR ProcessAnalyzer doesn't stop automatically, but it can be stopped manually if desired as follows:

ALTER COMPUTE POOL QPR_PROCESSANALYZER_APP_COMPUTE_POOL SUSPEND);

Snowflake has a one minute timeout for http requests, so long running operations may reach this timeout and fail. For example, importing large model from pacm or json file may encounter this situation. However, CSV data import doesn't have this issue.

QPR ProcessAnalyzer requires following account level privileges: BIND SERVER ENDPOINT, CREATE COMPUTE POOL, and CREATE WAREHOUSE. Granting these privileges is requested during the installation.

Following functionality is not available in the QPR ProcessAnalyzer Native App:

  • In-memory models
  • Datatables stored to SQL Server
  • Connections to external sources, such as SAP, Salesforce, ODBC, and Web Service
  • Scripts using SQL language
  • AI Assistant

Uninstall

QPR ProcessAnalyzer Native App can be uninstalled by selecting Uninstall for the app. Note that if QPR ProcessAnalyzer is uninstalled, the configuration data contained by the application is lost (such as projects, models, dashboards and scripts). However, the eventlog data residing in Snowflake tables are preserved because they are located outside the app.