Connecting Bold BI to Presto data source

The Bold BI dashboard designer supports connecting to Presto database through SQL Live Query (REST API).

Choose Presto data source

To configure the Presto data source, follow the below steps:

  1. Click on the Data Sources button in the configuration panel to add a new data connection.

    Data source icon

  2. Click CREATE NEW to launch a new connection from the connection panel.

  3. Select the Presto connection in the connection panel.

    Choose data source

NOTE: You can also create a data source from the home page by clicking on the Data Sources menu on the left menu panel and selecting Create Data Source from the data sources page.

Choose data source from server

Connect to Presto

Create Presto data source

After clicking the data source, the NEW DATA SOURCE configuration panel opens. Follow the given steps to create a Presto data source:

  1. Enter a name and description (optional) for the data source.

  2. Enter a valid Presto server or host name in the Server Name text box.

  3. Enter its corresponding port in Port text box.

  4. Enter the Catalog Name from below Presto Connectors Link.

  5. Choose either None or BASIC authentication in the Authentication Mechanism combo box.

  6. Enter a valid Presto user name and password if you choose Basic Authentication Mechanism.

  7. Select the database you want to query from the listed databases associated with the given Presto Server in the Database combo box.

    Presto Connection

There are two connection types available in a data source:

* Live mode
* Extract mode

In future, you can edit the connection information using Edit Connection option.

NOTE: To connect a data source with SSH, enable the SSH check box in the NEW DATA SOURCE configuration panel and enter the required credentials.

Enable SSH

Live mode connection

In this type of connection, a data source is directly fetched from source. Choose the Live mode option for this connection.

Live Connection

Data Preview

  1. Click Connect to connect the Presto server with configured details.

The schema represents the collection list that is retrieved from the Presto server. This dialog displays a list of schemas in a tree view and their corresponding values.

Treeview schema

  1. Now, the data design view page with the selected table schema opens. Drag and drop the table.

    Query designer

    Either you can use the Code View options for passing query to display data.

    Codeview mode

  2. Click Save to save the data source with a relevant name.

Extract mode connection

  1. Switching to Extract mode, Extract Engine will become visible.

    Extract Engine

  2. In Bold BI Extract, The data will be extracted in Bold BI itself.

  3. When switching to Data Hub, the data is extracted using the Data Hub. To view the equivalent pipeline created for data extraction, navigate to the Query Designer page and click on View Pipeline.

    Refresh Setting

NOTE: Initially, data will be extracted based on the Max Rows selected in order to proceed with data model creation. The remaining records (there is no limit) will be extracted during the next refresh.

Max rows option

Refresh Settings

Steps to configure the data source refresh settings:

  1. Click Refresh Settings in the configuration panel.

    Refresh Setting

  2. Select the recurrence type, recurrence start, and end dates in the Refresh Setting dialog box.

    • Data refresh can be scheduled hourly, daily, weekly, and monthly.
    • Application Time Zone is displayed below the date picker. The Start time of the schedule is converted to the client Time Zone and shown at the right-side for users convenience. After making your selections, click Schedule.

    Save Schedule

Preview and data import

  1. Click Connect to connect to the PostgreSql server with the configured details.
  2. The Extract Data dialog opens. This dialog has two modes of connection either via Table or Custom query. Under custom query option, write the required query and click Connect.

Under Table option, this dialog displays list of tables and views in a treeview. Select the required table(s) or view(s) from the treeview to use in the designer. Incremental Update can be performed on both tables and views. The option is available for configuring the incremental refresh column for the selected items in the right-side panel. * The table must have a primary key column and date column to configure the incremental refresh option. * The Views must have a date column to configure the incremental refresh option and unique column(s) are optional which is used to update the modified records.

If you configure it, the data source will work on Incremental update, otherwise, it will work on Full load concept. Finally, click Connect.

Preview

  1. Now, the data design view page with the selected table schema opens. Drag the table.

    Query Editor

    You can use the Code View option for passing query to display data.

    Codeview mode

  2. Click Save to save the data source with a relevant name.

NOTE: In future, you can edit the connection information for both live and extract mode connections using the Edit Connection option.

Note: After a successful connection, Query Designer will list tables, views, and stored procedures. Materialized views will be listed under the Views section.

Connect using custom attribute and dashboard parameter

We have added support for custom attributes and dashboard parameters in the data source connection. You can now connect to the data source using custom attributes or dashboard parameters.

Custom Attribute

Custom

Dashboard Parameter

Dashboard Parameter

Note: Refer to the Dashboard Parameter Documentation and Custom Attributes Documentation for more details.

Connecting Bold BI to Presto Data Source via REST API

Prerequisites

Type while creating the data source needs to be presto.

Rest API - v4.0

Parameters for creating Data Source

NOTE: The ability to provide join support is available only during the creation of a new data source. Join in edit connection mode is not supported.

Parameters Details
Servername

required
string

Server name or Host name of the connection
Port

required
string

Port number used to connect to the presto server.

AuthenticationType

optional
string

None or Server Authentication. By default, it is None.
Username

optional
string

A valid username for the connection. Required for Server Authentication.
Password

optional
string

A valid Password for the connection. Required for Server Authentication.
CatalogName

required
string

Catalog which need to be connected.

Database

required
string

database which needs to be connected
Schemaname

required for table mode
string

Enter a valid Schemaname
Tablename

required for table mode
string

Enter a valid Tablename
JoinType

Required For Join Info
string

Enter a valid JoinType For Example (Inner,Outer)
LeftTable

Required For Join Info
string

Enter a valid Left Table name
RightTable

Required For Join Info
string

Enter a valid Right Table name
LeftField

Required For Join Info
string

Enter a valid Left Table Column Name
RightField

Required For Join Info
string

Enter a valid Right Table Column Name
Condition

Required For Join Info
string

Enter a valid Condition For Example (AND,OR)
LeftField

Required For Join Info
string

Enter a valid Left Table Column Name
Operator

Required For Join Info
string

Enter a Valid Operator For Example (=,>=)
Value

Optional For only Join Info
string

Specifically choose the column values.
Query

required for code view mode
string

Enter a valid Query
AdvancedSettings

optional
string

Additional optional connection parameters can be provided. By default, it is empty.
CommandTimeout

optional
string

Enter a valid Timeout for connection. By default, it is 300
IsSshConnection

optional
`boolean`

Enable or disable SSH. By default, it is false.
SshServerName

optional
string

Enter a valid Ssh Server name. By default, it is empty.
SshPort

optional
`integer`

Enter a valid Ssh Port number.
SshUserName

optional
string

Enter a valid Ssh Username. By default, it is empty.
SshPassword

optional
string

Enter a valid Ssh Password. By default, it is empty.
Expressions

optional

`Array of Objects`



Parameters for edit the connection while upload the dashboard via API

Parameters Details
ServerName

required
string

Server name or Host name of the connection
Port

required
string

Port number used to connect to the presto server.

AuthenticationType

optional
string

None or Server Authentication. By default, it is None.
UserName

optional
string

A valid username for the connection. Required for Server Authentication.
Password

optional
string

A valid Password for the connection. Required for Server Authentication.
CatalogName

required
string

Catalog which need to be connected.

Database

required
string

database which needs to be connected
Schema

required for table mode
string

Enter a valid Schemaname
AdvancedSettings

optional
string

Additional optional connection parameters can be provided. By default, it is empty.
CommandTimeout

optional
string

Enter a valid Timeout for connection. By default, it is 300
IsSshConnection

optional
`boolean`

Enable or disable SSH. By default, it is false.
SshServerName

optional
string

Enter a valid Ssh Server name. By default, it is empty.
SshPort

optional
`integer`

Enter a valid Ssh Port number.
SshUserName

optional
string

Enter a valid Ssh Username. By default, it is empty.
SshPassword

optional
string

Enter a valid Ssh Password. By default, it is empty.

Parameters for adding expressions when creating Data Source

Parameters Details
Name

required

string

Name of the Expression

Expression



required

string

Expression


Parameters for editing Data Source

NOTE: To edit a Data Source via API, all parameters are optional. Only the parameter that needs to be changed should be provided.

Parameters for modifying expressions when editing Data Source

Parameters Details
Name

required

string

Name of the Expression

Expression



required

string

Expression


Action



optional

string

add/delete/edit

By default, it is add.

NewName

optional

string

For renaming the expression. This is applicable only if the Action is edit

Connection Sample for Table Mode

For creating connection:

"Connection":
{
"Servername": "string",
"Port": "string",
"AuthenticationType": "string",
"Username": "string",
"Password": "string",
"CatalogName": "string",
"Database": "string",
"Schemaname": "string",
"Tablename": "string",
"AdvancedSettings": "string",
"CommandTimeout": "string",
"IsSshConnection": "false",
"SshServerName": "string",
"SshPort": 0,
"SshUsername": "string",
"SshPassword": "string",
"Expressions" : [{
"Name": "Expression1",
"Expression" : "SUM(numeric expression)"
    },
    {
"Name": "Expression2",
"Expression" :  "UPPER(string expression)"
}]
}

For creating connection with multiple tables :

"Connection":
{
"Servername": "string",
"Port": "string",
"AuthenticationType": "string",
"Username": "string",
"Password": "string",
"CatalogName": "string",
"Database": "string",
"Tables": [
            {
                "Tablename": "string",
                "Schemaname": "string"
            },
            {
                "Tablename": "string",
                "Schemaname": "string"
            }
        ],
"JoinInfo": [
            {
                "JoinType": "string",
                "LeftTable": "string",
                "RightTable": "string",
                "JoinFieldInfos": [
                    {
                        "Condition": "string",
                        "LeftField": "string",
                        "Operator": "string",
                        "RightField": "string",
                        "Value": "string"
                    },
                    {
                        "Condition": "string",
                        "LeftField": "string",
                        "Operator": "string",
                        "RightField": "string",
                        "Value": "string"
                    }
                ]
            }
        ],
"AdvancedSettings": "string",
"CommandTimeout": "string",
"IsSshConnection": "false",
"SshServerName": "string",
"SshPort": 0,
"SshUsername": "string",
"SshPassword": "string",
"Expressions" : [{
"Name": "Expression1",
"Expression" : "SUM(numeric expression)"
    },
    {
"Name": "Expression2",
"Expression" :  "UPPER(string expression)"
}]
}

For editing connection:

"Connection":
{
"Servername": "string",
"Port": "string",
"AuthenticationType": "string",
"Username": "string",
"Password": "string",
"CatalogName": "string",
"Database": "string",
"Schemaname": "string",
"Tablename": "string",
"AdvancedSettings": "string",
"CommandTimeout": "string",
"IsSshConnection": "false",
"SshServerName": "string",
"SshPort": 0,
"SshUsername": "string",
"SshPassword": "string",
"Expressions" : [{
"Name": "Expression1",
"Expression" : "SUM(numeric expression)",
"NewName" : "Sum",
"Action": "edit"
    },
    {
"Name": "Expression2",
"Expression" :  "UPPER(string expression)"
"Action": "delete"
}]
}

NOTE: Through the Rest API, the data source can be created or edited with only one table. If different table is provided in edit data source, the table will be replaced. The widgets will be retained only if the schema is same as the previous table.

Connection Sample for Code View Mode

"Connection":
{
"Servername": "string",
"Port": "string",
"AuthenticationType": "string",
"Username": "string",
"Password": "string",
"CatalogName": "string",
"Database": "string",
"Query": "string",
"AdvancedSettings": "string",
"CommandTimeout": "string",
"IsSshConnection": "false",
"SshServerName": "string",
"SshPort": 0,
"SshUsername": "string",
"SshPassword": "string",
"Expressions" : [{
"Name": "Expression1",
"Expression" : "SUM(numeric expression)"
    },
    {
"Name": "Expression2",
"Expression" :  "UPPER(string expression)"
}]
}

Sample connection for editing the connection while uploading the dashboard via API.

"Connection":  {   
       "ServerName": "string",
       "Database": "string",
       "Port": "string",
       "UserName": "string",
       "Password": "string",
       "AuthenticationType": "string",
       "AdvancedSettings": "string",
       "CatalogName": "string",
       "Schema": "string"
  } 

Data Transformation

Editing a Data Connection

Dashboard Designer Walkthrough

Presto Integration