Does Holistics store my data?

We know your database contains your most sensitive data, which is why Holistics is designed to work directly with your database, and not store any of your database data.

Is Holistics a cloud-based or on-premise solution?

Holistics is a fully cloud-based one-stop business intelligence and extract, transform and load (ETL) software solution, which allows you to move, merge and query your marketing, operations, customer data and more, straight from your reporting database using SQL.

I work for a big enterprise. How difficult is it for me to plan and budget for what I need?

We understand as we have worked with enterprises before. Contact us and we will be happy to work out a simplified pricing plan (Enterprise) based on your needs.

Does Holistics offer white label analytics and OEM embedded dashboards?

Yes. You can contact us here, to discuss how that can be done.

Qubole queries do not work

Running query on Qubole data source, I encounter error

ERROR: extra data after last expected column

My data might have tab characters.

This is a limitation of Qubole REST API, specifically the delimiters used in view results API. Please update your query to replace all tab characters with space via the function replace(string, search, replace) (doc), e.g. replace(column_with_tab_character, '\<Tab on your keyboard goes here>', ' ')

A detailed technical explanation is as follows:

1) Let's use this query as example data. The second column data have tabs.

select * from (
('2017-01-01', 'Saigon Phu Quoc Resort & Spa 985', '1'),
('2017-01-02', 'No Happy Tower 1', '2')
) t (a, bug_with_tab, b)

2) The view results API has a parameter raw to switch the delimiter used in response

3) Currently, we are using the default mode of the API, i.e. raw = false. For the above query, we get this response from Qubole

"2017-01-01\tSaigon Phu Quoc Resort & Spa\t\t\t985\t1\r\n2017-01-02\tNo\t\tHappy\t\tTower\t2\r\n"

Qubole uses tab character (\t) to delimit columns and '\r\n' sequence to delimit rows. We cannot distinguish whether the tab character in the response is Qubole delimiter or actual data. This leads to incorrect number of columns after parsing the response.

4) We tried raw mode to use a different delimiter. We get this response

"2017-01-01\u0001Saigon Phu Quoc Resort & Spa\t\t\t985\u00011\n2017-01-02\u0001Happy\tNo\t\tHappy\t\tTower\u00012\n\n"

Now, Qubole uses ^A character (\u0001) to delimit columns and newline (\n) to delimit rows. The tab character is safe but the newline character is not. Newline is a common character in description, address, so using this mode would break other queries using such data.

5) As we cannot work around the limitation of Qubole on our side, we would need your help to achieve a solution. Please replace the tab character in SQL query, or clean the data directly in the database.

Unicode Character Not Displayed Properly with MySQL

(MySQL) I have Chinese/Vietnamese characters, but when I query it into a report, the characters are not displayed properly?

Make sure the default character set and collation in your database is set up to be UTF8. We recommend that you use UTF8 as the default character set and utf8_general_ci for your default collation.

You can change it in your /etc/my.cnf from your db server.

# Change the MySQL database collation to UTF-8
ALTER DATABASE my_database DEFAULT COLLATE utf8_unicode_ci;
# Change the MySQL database character set to UTF-8
# These settings should be in my.cnf

Getting "Catalog must be specified when session catalog is not set" error for Presto

When I try to execute a query on Presto, I encountered this error message "Catalog must be specified when session catalog is not set".

Please make sure database name (for Presto means catalog) is set properly in your data source configuration. Without a catalog set, Presto will not allow you to execute queries.

Got the error with Google Spreadsheet

When I import a Google Spreadsheet or export to Google Spreadsheet, I encounter this error: failedPrecondition: this operation is not supported for this document?

This error happens normally because the file was saved in .xlsx extension and you need to converted it to Google Sheet format by importing the excel file in your google spreadsheet instead of directly uploading it to Google Drive.

Handle RECORD type in BigQuery

I have connected my BigQuery data source in which most of the tables we have nested field structure of type record. I'm not able to see/use nested fields to create the visualizations.

  • If your column is in RECORD type and in NULLABLE mode, you can access the elements inside using dot notation like this: field.element_name

  • If your column is of RECORD type but is in REPEATED mode, you need to unnest it before you can use dot notation:

unnested.element_1, unnested.element_2
from base_table t
left join unnest(t.repeated_field_name) as unnested
  • If your field is of STRING type but looks like a JSON, further steps need to be done before accessing all the elements

For more details, please refer to this blog post: How to extract nested JSON data in BigQuery

Does Holistics support Flow-based scheduling with Airflow?

In Holistics 3.0, we have NOT supported Flow-based scheduling yet but it is in our backlog and will be released soon.

In Holistics 2.0, we support CLI so you can integrate Holistics with your current flow and manage the whole Flow-based schedule on your side (not Holistics).

For example, you can use Holistics with airflow to manage Flow-based schedule like the pseudo-code below:

# File users.flow
command: '$ holistics import:run -n users'
# File users_daily.flow
depends: 'users'
command: '$ holistics transform:run -n users_daily'