Trino
Steps to setup Trino
Fill the form with the credentials of your data source.
Once the form is completed, it's necessary to test the connection to verify if Qualytics is able to connect to your source of data. A successful message will be shown:
Warning
By clicking on the Finish
button, it will create the Datastore and skipping the configuration of an Enrichment Datastore.
- To configure an Enrichment Datastore in another moment, please refer to this section
Note
It is important to associate an Enrichment Datastore
with your new Datastore
- The
Enrichment Datastore
will allow Qualytics to recordenrichment data
, copies of the sourceanomalous data
and additionalmetadata
for yourDatastore
Configuring an Enrichment Datastore
-
If you have an
Enrichment Datastore
already setup, you can link it by enable to use an existing Enrichment Datastore and select from the list -
If you don't have an
Enrichment Datastore
, you can create one at the same page:
Once the form is completed, it's necessary to test the connection. A successful message will be shown:
Warning
By clicking on the Finish
button, it will create the Datastore and link or create the Enrichment Datastore
Fields
Host
required
required
- The address of the server to connect to. This address can be a DNS or IP address.
Port
required
required
- The port to connect to on serverName.
-
The default is
8080
.Note: If you're using the default, you don't have to specify the port
Catalog
required
required
- The
catalog
name to be connected.
Schema
required
required
- The
schema
name to be connected. - The default is
default
.
User
required
required
- The
user
to connect in Hive.
Password
required
required
- The
password
to connect in Hive.
SSL TrustStore
required
required
- A keystore file that contains certificates from other parties that you expect to communicate with or from Certificate Authorities that you trust to identify other parties
Configuring Trino for Hive Table Access Control:
Locate the Hive Connector Configuration File:
- The configuration file for the Hive connector in Trino is typically named
hive.properties
and is located in theetc/catalog
directory of your PreTrinosto installation.
Modify the Configuration:
- Open the
hive.properties
file in a text editor. - Add or modify the line
hive.allow-drop-table=true
to allow dropping tables. If you set it tofalse
, it will disallow dropping tables.
Restart Trino: - After making changes to the configuration, you'll need to restart Trino for the changes to take effect.
- Or, you can use the restart command to do it in one step:
Info
The hive.allow-drop-table
configuration is just one of the many configurations available. If you want to control more granular permissions, such as read/write access, you might need to look into using a combination of Hive's native permissions and the configurations available in Trino.
API Payload Examples
Creating a Datastore
This section provides a sample payload for creating a datastore. Replace the placeholder values with actual data relevant to your setup.
Endpoint (Post)
/api/datastores
(post)
{
"name": "your_datastore_name",
"teams": ["Public"],
"database": "trino_database",
"schema": "trino_schema",
"enrich_only": false,
"trigger_catalog": true,
"connection": {
"name": "your_connection_name",
"type": "trino",
"host": "trino_host",
"port": "trino_port",
"username": "trino_username",
"password": "trino_password",
"parameters":{
"ssl_truststore":"truststore.jks"
},
}
}
Creating an Enrichment Datastore
Endpoint (Post)
/api/datastores
(post)
This section provides a sample payload for creating an enrichment datastore. Replace the placeholder values with actual data relevant to your setup.
{
"name": "your_datastore_name",
"teams": ["Public"],
"database": "trino_database",
"schema": "trino_schema",
"enrich_only": true,
"connection": {
"name": "your_connection_name",
"type": "trino",
"host": "trino_host",
"port": "trino_port",
"username": "trino_username",
"password": "trino_password",
"parameters":{
"ssl_truststore":"truststore.jks"
},
}
}
Linking Datastore to an Enrichment Datastore through API
Endpoint (Patch)
/api/datastores/{datastore-id}/enrichment/{enrichment-id}
(patch)