DoingData

View Original

What is Tableau Hyper API for Python

What is Tableau HyperAPI?

The Hyper API contains a set of functions you can use to automate your interactions with Tableau extract (.hyper) files. You can use the API to create new extracts or to open existing extracts, and then insert, delete, update, or read data from those files.

Using the Hyper API developers and administrators can perform:

  • Create extract files for data sources not currently supported by Tableau.

  • Automate custom extract, transform and load (ETL) processes (for example, implement rolling window updates or custom incremental updates).

  • Retrieve data from an extract file

Use Case of Tableau HyperAPI

Hypothetical Scenario:

  • 20M records in the database having 134 columns

  • Database- SQL Server 2019 Enterprise

  • Total time (avg.) taken to refresh is 6300 seconds + as on date which will keep on increasing as long as data is also increasing

  • Database Server and Tableau Server are in different data centers and for some reason cannot talk to each other

Thought Applied:

  • Setup required stuff on the database server

  • Created extract in the local server where the database resides using Python

  • Called Rest API to Publish the same

  • Used CURD operation to set up an incremental refresh. Tableau server can refresh extract only on date fields only, so used this

Outcome:

  • Total refresh time reduced to 300 seconds as incremental is being performed here

  • Since extract creation is getting refreshed on locally hence saved backgrounder usage

  • The most important part now we can release dashboard to end-users 1.6 hours early which really made sales force happy, as they can have a meeting with their team before leaving to market on data points

Few Facts About HyperAPI

The Hyper API gives you the tools for interacting with local .hyper extract files. For information about how to programmatically publish the extracts to Tableau Server. The Hyper API, allows developers and admins to create .hyper files and insert, delete, update, and read data from those files.

New features that come with the Hyper API:

  • Full CRUD: Read, update, delete, and insert data in .hyper files

  • Full speed: Leverage the full speed of Hyper for creating .hyper files

  • Direct CSV loading: Directly load from CSV files instead of writing code to do so

  • SQL-based API: Unleash the power of SQL to interact with .hyper files

  • Multi-table: Create multi-table extracts that match your data model

Supported Languages:

The Hyper API only supports 64-bit platforms. The Hyper API libraries are available for the following programming languages:

  • Python (3.6 or newer)

  • C++ (C++11 or newer)

  • Java (Java 8 or newer)

  • C#/.NET (.NET Standard 2.0)

While it is expected that the Hyper API will work on newer versions of these languages, it may not be fully tested.

Supported Platforms

  • ·        Microsoft Windows Server 2016, 2012, 2012 R2, 2008 R2, 2019

  • ·        Amazon Linux 2, RHEL 7.3+, CentOS 7.3+, Oracle Linux 7.3+, Ubuntu 16.04/18.04 LTS

  • ·        Microsoft Windows 7 or newer (64-bit)

  • ·        macOS 10.11 or newer (macOS 10.15 not yet supported)

Hardware Requirements:

The Hyper API has the following minimum hardware requirements.

  • Intel Nehalem or AMD Bulldozer processor or newer

  • 2 GB memory

  • 1.5 GB minimum free disk space

Note: Reference of above content is taken from official Tableau Hyper API Document