Understanding Tableau Hyper Simplified

|

Understanding Tableau Hyper - Featured Image

With Businesses immensely relying on effective data-driven decision-making for chalking out future strategies, Data Analysis and Business Intelligence have become an integral part of any growth strategy. In order to perform a proper analysis, businesses have to ensure that they collect as much data as possible, allowing them to ensure that their analysis would not lead to incorrect or partial insights.

Since the amount of data being collected by businesses has grown exponentially, it is of paramount importance to the developers of Business Intelligence tools to ensure that their tools can handle this large volume of data. One of the most widely used Business Intelligence tools is Tableau. Tableau recently introduced a functionality called Tableau Hyper to ensure that their tool can handle large and complex datasets efficiently. This article will provide you with a comprehensive understanding of how Tableau Hyper and the Hyper API works.

Table of Contents

Introduction to Tableau

Tableau Logo
Image Source: https://www.tableau.com/about/media-download-center

Tableau is a popular Business Intelligence and Data Analytics tool that was developed to help organizational decision-makers visualize, analyze and understand complex business data and make data-driven decisions. It can be leveraged to create a wide range of interactive visualizations and derive valuable insights from them. Tableau was founded at Stanford as a part of a computer science project in 2003 with the goal to improve the flow of any Data Analysis and make data more accessible and understandable to people through easy-to-understand visualizations. 

Tableau’s core technology, VizQL gives users the ability to visually express data by translating drag-and-drop actions into data queries through an intuitive interface was developed and patented by the Co-founders of Tableau i.e., Chris Stolte, Pat Hanrahan, and Christian Chabot

Businesses of all sizes operating across different scales rely on Business Intelligence tools like Tableau to analyze their data. Large-scale enterprises like Unilever, which sells more than 400 different kinds of products across 190+ countries, to Small-scale local businesses like Marination, an Asian-Hawaiian food truck eatery in Seattle make use of Tableau visualizations to analyze their business data seamlessly.

Tableau offers a free version called Tableau Public along with its numerous paid products and services such as Tableau Desktop, Tableau Server, Tableau Online, and Tableau Reader as part of its suite.

More information on Tableau can be found here.

Understanding the Key Features of Tableau

Some of the key features of Tableau are as follows:

  • Advanced Dashboard: Tableau Dashboards provide an in-depth view of the data using advanced visualizations. Dashboards are considered to be very informative as they support the addition of multiple views and objects, and visualization of data in the form of Stories by giving users a variety of layouts and formats to choose from and enabling them to deploy filters as per the requirements of the analysis.
  • In-Memory and Live Data: Tableau ensures seamless connectivity with data extracted from external data sources in the form of in-memory data or live data sources. This gives users the ability to analyze data from various data sources without any restrictions. 
  • Attractive Visualizations: Tableau gives users the ability to create different types of data visualizations. For example, users can seamlessly create the simplest visualizations such as a Pie Chart or Bar Chart or some of the most complex visualizations such as Bullet Chart, Gantt Chart, Boxplot, etc. Tableau also comes with information on geographical data such as Countries, Cities, Postal Codes, etc. that allows users to build visualizations using informative maps.
  • Robust Security: Tableau implemented special measures to ensure user and data security. It houses a security system based on permission and authentication mechanisms for user access and data connections.
  • Predictive Analytics: Tableau houses several data modeling capabilities, including forecasting and trending. Users can easily add a trend line or forecast data for any chart, and view details describing the fit easily.

Simplify Tableau ETL Using Hevo’s No-code Data Pipeline

Hevo Data is a No-code Data Pipeline that offers a fully-managed solution to set up data integration from 100+ data sources including Tableau and will let you directly load data to a Data Warehouse, a Business Intelligence tools such as Tableau, or the destination of your choice. It will automate your data flow in minutes without writing any line of code. Its fault-tolerant architecture makes sure that your data is secure and consistent. Hevo provides you with a truly efficient and fully-automated solution to manage data in real-time and always have analysis-ready data.

GET STARTED WITH HEVO FOR FREE

Let’s Look at Some Salient Features of Hevo:

  • Fully Managed: It requires no management and maintenance as Hevo is a fully automated platform.
  • Data Transformation: It provides a simple interface to perfect, modify, and enrich the data you want to transfer. 
  • Real-Time: Hevo offers real-time data migration. So, your data is always ready for analysis.
  • Schema Management: Hevo can automatically detect the schema of the incoming data and map it to the destination schema.
  • Live Monitoring: Advanced monitoring gives you a one-stop view to watch all the activities that occur within pipelines.
  • Live Support: Hevo team is available round the clock to extend exceptional support to its customers through chat, email, and support calls.
SIGN UP HERE FOR A 14-DAY FREE TRIAL!

Introduction to Tableau Hyper

Over the past few years, Analytical Database technologies and In-memory Data Engines have delivered incredible data querying performance through numerous techniques such as Summarization and Sampling. However, most of these improvements in performance come at a cost. Most systems sacrifice refresh and write performance-critical for fast extract creation in order to optimize analytical workload performance. The goal of Tableau Hyper is to bring users closer to their data by giving them fast analytical workload performance and write speed. 

Tableau Hyper can be defined as a high-performance In-memory Data Engine technology that gives users the ability to analyze large and complex datasets faster, by seamlessly evaluating all analytical queries in the transactional database. As a core Tableau platform technology, Tableau Hyper makes use of cutting-edge parallelism techniques and proprietary dynamic code generation to achieve fast performance for query execution and extract creation.

Tableau Hyper
Image Source: https://www.zdnet.com/article/tableau-adds-in-memory-data-engine-hyper-to-tableau-10-5-launches-tableau-server-for-linux/

Tableau Hyper was introduced in Tableau 10.5. It is capable of performing slice and dice operations on massive volumes of data within seconds. It has been observed that Tableau Hyper can improve query speed by 5 times and extract creation speed by 3 times. 

Hence, it can be said that Tableau Hyper allows users to easily analyze larger datasets and get a more complete view of their data.

Introduction to Tableau Hyper API

The Tableau Hyper API houses a set of functions that give users the ability to interact with all their Tableau Extracts. Tableau Extracts are Tableau Hyper files with the “.hyper” extension. Users can leverage the Tableau Hyper API to perform the following operations:

  • Open existing Extract files.
  • Perform various CRUD (Create, Read, Update, Delete) operations on Extract files.
  • Create Extracts for data sources that are not yet supported by Tableau.
  • Automate various custom Extract, Transform and Load (ETL) operations.
  • Use SQL queries to interact with data in Tableau Hyper Extracts.

The Tableau Hyper API only supports the following 64-bit platforms:

  • Microsoft Windows Server 2019, 2016, 2012 R2, 2012, 2008 R2
  • Microsoft Windows 7 or newer (64-bit)
  • Amazon Linux 2, Red Hat Enterprise Linux (RHEL) 7.3+, CentOS 7.3+, Oracle Linux 7.3+, Ubuntu 16.04 LTS, and 18.04 LTS
  • macOS 10.13 or newer

Tableau Hyper API libraries are only available for the following programming languages:

  • Python (3.6 or newer)
  • Java (Java 8 or newer)
  • C++ (C++11 or newer)
  • C#/.NET (.NET Standard 2.0)

Creating Tableau Hyper Files using Hyper API

In order to create Tableau Hyper files using the Hyper API, you first need to install the Tableau Hyper library in your local system. The command for installing the library for Python is as follows:

pip install tableauhyperapi

For information on how to install the library for other languages, refer to the official documentation.

The following steps can be followed to create Tableau Hyper files using the Hyper API for Python:

Step 1: Importing the Tableau Hyper API Library 

Users can import the Hyper API library by executing the following command:

from tableauhyperapi import HyperProcess, Telemetry, Connection, CreateMode, NOT_NULLABLE, NULLABLE, SqlType, TableDefinition,Inserter, escape_name, escape_string_literal, HyperException, print_exception, TableName

Step 2: Enabling the Tableau HyperProcess

Enabling the HyperProcess will start the local Hyper Database Server. Starting or shutting down the Hyper Database Server usually takes a lot of time and hence, you should only shut down the Server when all your required processes are complete. The HyperProcess can be started by running the following command:

with HyperProcess(telemetry=Telemetry.SEND_USAGE_DATA_TO_TABLEAU) as hyper

By setting telemetry to Telemetry.SEND_USAGE_DATA_TO_TABLEAU, users can instruct the Tableau HyperProcess to send all Hyper API usage data to Tableau. On the other hand, users can choose to not send this data by setting telemetry to  Telemetry.DO_NOT_SEND_USAGE_DATA_TO_TABLEAU.

Step 3: Connecting to “.hyper” file

A connection can be established to a “.hyper” file using the “Connection” object by running the following command:

with Connection(hyper.endpoint, 'Example.hyper', CreateMode.CREATE_AND_REPLACE) as connection

The connection command requires three parameters i.e. the identifier for the HyperProcess, the name of the “.hyper” file, and the CreateMode. 

  • The identifier for the HyperProcess in this example is “hyper” as can be observed in the command in Step 2. 
  • The name of the “.hyper” file is the name of the file you wish to create. 
  • The final parameter i.e. CreateMode should be set to CreateMode.CREATE_AND_REPLACE if you wish to create a new file with the given name or overwrite the existing file (if any) with the same name and create a new one instead of it. If you wish to modify an existing “.hyper” file, then the CreateMode should be set to CreateMode.NONE.

Step 4: Creating the Table

In order to create a table, the table has to be defined first using the “TableDefinition” method. A table can be defined by running the following commands:

connection.catalog.create_schema('Extract_Schema') example_table = TableDefinition( TableName('Extract','Extract_Schema'), [ TableDefinition.Column('rowID', SqlType.big_int()), TableDefinition.Column('value', SqlType.big_int()), ])

The three expected parameters in the “TableDefinition” method are the table name, the schema name, and the list of columns that are supposed to be in that table each of which can be defined using the “TableDefinition.Column” method.

Once the table has been defined, it can be created by running the following command:

connection.catalog.create_table(example_table)

Step 5: Inserting Data into the Table

Data can be inserted into the table by running the following command:

with Inserter(connection, example_table) as inserter:
    for i in range (1, 101):
        inserter.add_row([ i, i])
    inserter.execute()

Step 6: Closing Connection and Shutting Down the Tableau HyperProcess

Due to the usage of the “with” command, there is no need for the user to explicitly shutdown the HyperProcess. It would be done automatically as the program reaches the end of its execution.

The entire Python code to create “.hyper” files using the Tableau Hyper API is as follows:

from tableauhyperapi import Connection,HyperProcess, SqlType, TableDefinition, escape_string_literal, escape_name, NOT_NULLABLE, Telemetry, Inserter, CreateMode, TableName

with HyperProcess(Telemetry.SEND_USAGE_DATA_TO_TABLEAU) as hyper:
    print("The HyperProcess has started.")

    with Connection(hyper.endpoint, 'Example.hyper', CreateMode.CREATE_AND_REPLACE) as connection:
        print("The connection to the Hyper file is open.")
        connection.catalog.create_schema('Extract_Schema')
        example_table = TableDefinition(TableName('Extract','Extract_Schema'), [
            TableDefinition.Column('rowID', SqlType.big_int()),
            TableDefinition.Column('value', SqlType.big_int()),
         ])
        print("The table is defined.")
        connection.catalog.create_table(example_table)
        with Inserter(connection, example_table) as inserter:
            for i in range (1, 101):
                inserter.add_row(
                    [ i, i ]
            )
            inserter.execute()
        print("The data was added to the table.")
    print("The connection to the Hyper extract file is closed.")
print("The HyperProcess has shut down.")

Updating Tableau Hyper Files using Hyper API

In order to make changes in an existing Hyper file, the following process can be implemented:

  • Start the Tableau HyperProcess.
  • Connect to the Hyper file with the CreateMode as CreateMode.NONE.
  • Make necessary changes to the file.

The sample Python code to make changes to the file created in the previous section is as follows:

from tableauhyperapi import Connection, HyperProcess, SqlType, TableDefinition, 
    escape_string_literal, escape_name, NOT_NULLABLE, Telemetry, Inserter, CreateMode, TableName

with HyperProcess(Telemetry.SEND_USAGE_DATA_TO_TABLEAU) as hyper:
    print("The HyperProcess has started.")
    with Connection(hyper.endpoint, 'Example.hyper', CreateMode.NONE) as connection:
        print("The connection to the .hyper file is open.")
        with Inserter(connection, TableName('Extract','Extract_Schema')) as inserter:
            inserter.add_row([101, 101])
            inserter.add_row([102, 102])
            inserter.execute()
        print("The data in table "Extract" has been updated.")
    print("The connection to the Hyper file is closed.")
print("The HyperProcess has shutdown.")

Conclusion

This article provided you with an in-depth understanding of how Tableau Hyper works along with how you can use the Hyper API to perform all required operations on your Hyper files.

Choosing a Business Intelligence and Data Analysis tool for your business can be a tough decision primarily because most businesses now make use of multiple platforms to run their day-to-day operations. Hence, businesses rely on Data Integration solutions to integrate data from all their data sources into a Business Intelligence tool of their choice. Making a Data Integration solution in-house is a complex task that would require immense engineering bandwidth and resources. Businesses can instead use automated Data Integration platforms like Hevo.

Hevo Data helps you directly transfer data from a source of your choice to a Data Warehouse, Business Intelligence tools such as Tableau, etc., or desired destination in a fully automated and secure manner without having to write the code. It will make your life easier and make data migration hassle-free. It is User-Friendly, Reliable, and Secure.

VISIT OUR WEBSITE TO EXPLORE HEVO

Want to take Hevo for a spin?

SIGN UP and experience the feature-rich Hevo suite first hand. You can also have a look at the unbeatable pricing that will help you choose the right plan for your business needs.

Manik Chhabra
Former Research Analyst, Hevo Data

Manik has a keen interest in data, software architecture, and has a flair for writing hightly technical content. He has experience writing articles on diverse topics related to data engineering and infrastructure. The problem solving and analytical thinking ability combined with the impact he can make in data professional's day to day life motivate him to create content.

Visualize your Data in Tableau in Real-Time