Hyper Formatter

In this Article

Overview

You can use this Snap to convert the incoming documents into a Tableau hyper extract file and send the extract to the binary output view.

You can configure multiple input views in this Snap as the hyper file contains multiple tables. The table names for the hyper file is taken from the View Labels that you configure in Views.

Prerequisites

  • Tableau 10.5 or later version.

  • To run the Tableau hyper Pipelines in a plex, you must set the environment or system property TABLEAU_HYPER_LIBS to hyper/ (excluding hyper folder) where the jcc is running.

  • Tableau Hyper Snaps use Tableau Hyper API version 21.0.0.12982. You must have the Java Native Access (JNA) and shared libraries of the same API version for the respective Operating System on which you run your Tableau Pipelines. You can download the files for your operating system (Windows, Mac, and Linux) using this link: https://www.tableau.com/support/releases/hyper-api/0.0.12982.

Support for Ultra Pipelines

Does not work in Ultra Pipelines

Limitations

None.

Known Issues

None.

Snap Input and Output

Input/Output

Type of View

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input/Output

Type of View

Number of Views

Examples of Upstream and Downstream Snaps

Description

Input 

Document

  • Min:1

  • Max:∞

  • Mapper

  • Copy

  • Any Parser Snaps

Data in document format.

Output

Binary

  • Min:1

  • Max:1

  • File Writer

  • S3 File Writer

Document in binary format.

Snap Settings

Field Name

Field Dependency

Description

Field Name

Field Dependency

Description

Label*

None.

Specify the name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your Pipeline.

Default ValueHyper Formatter
ExampleHyper Formatter

Schema Name

N/A

Specify a schema name for the Tableau extract. If left empty, the Snap uses the default schema name Extract.

Default ValueExtract
ExampleExtract

Snap Execution

N/A

Select one of the three modes in which the Snap executes. Available options are:

  • Validate & Execute: Performs limited execution of the Snap, and generates a data preview during Pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during Pipeline runtime.

  • Execute only: Performs full execution of the Snap during Pipeline execution without generating preview data.

  • Disabled: Disables the Snap and all Snaps that are downstream from it.

    Default Value: Validate & Execute
    Example: Execute only

Example

Transforming Data Into Hyper Format and Publishing The Datasource

This example Pipeline demonstrates how we can transform data into hyper extract format and publish the datasource in the Tableau server. Publishing a datasource in the Tableau server is a three-step process:

  1. Initiate file upload

  2. Append to file upload

  3. Publish datasource

We have three Tableau REST Snaps in this Pipeline, each calling these threeAPIs: initiate_file_upload, append_file_upload, and publish_datasource.

Initially, we pass the following parameters in the Pipeline as key-value pairs:

Key

Value

Key

Value

projectid

87473786-9edd-495d-9820-c9ecbc928fe1

siteid

b3013847-c198-4a1e-8650-9f43f9d5e9f2

hyperfilename

test.hyper

We begin with configuring the JSON Generator Snap to pass product information with the required sub elements, such as Category, Product ID, Product Name, and Sub-Category.

Upon validation, we get the product data in the output preview of the Snap.

Next, we configure the Hyper Formatter Snap to format the JSON data output into Tableau hyper format. We configure the views with one input view Table_name_product. This view label name will be used as table name in the hyper file in the output.

Hyper Formatter Snap Configuration

Hyper Formatter Views

Hyper Formatter Snap Configuration

Hyper Formatter Views

 

 

Next, we configure the File Writer Snap to write the transformed hyper format data file, test.hyper to the SL database. Upon validation, the hyper data file test.hyper is written to the SL database.

File Writer Snap Configuration

File Writer Output

File Writer Snap Configuration

File Writer Output

 

 

Next, we configure the Mapper Snap to pass inputs for initializing the file upload. Hence, we pass the datasource Type, SiteId, and specify whether the file should be overwritten.

Upon validation, we get the following data in the output preview of the Snap.

Next, we configure the Tableau REST Snap to initiate the file upload operation using the REST operation.

Upon validation, the Snap establishes an upload session and creates a unique session ID. Since the file is not uploaded in this operation, the value of the $filezSize field is 0. A preview of the output from the Tableau REST Snap is as shown below:

Next, we configure the second Mapper Snap to append the uploaded file. Hence, we pass the fileSize, uploadSessionId, and siteId values to the downstream Tableau REST Snap.

Upon validation, we get the following output (fileSize, uploadSessionId, and siteId).

Next, we configure the Tableau REST Snap to append the file to Tableau Online Site (repository/folder) in which the appended file will be placed. Hence, we use the REST operation append_file_upload to append the test.hyper file and also provide the target file’s name. This operation creates a resource location for the uploaded file (test.hyper).

Upon validation, the file is uploaded in chunks to the site (based on $siteId). In the Snap's output preview we can notice that the session ID of the upload session is the same as that generated in the "Initiate" step.

The file is now ready to be published. Next, we configure the Mapper Snap to map the fields from the output of the second Tableau REST Snap to use in the downstream Snap. So, we pass the datasource type, uploadSessionId, siteId, hyperfilename and projectId, and specify whether we want to overwrite the file.
While uploadSessionId is an input from the previous REST operation, whereas the siteId, hyperfilename, and projectId are the hardcoded values in Pipeline parameters.

Upon validation, we get the following output in the preview of the Snap.

Next, we configure the last Tableau REST Snap to publish the datasource to Tableau instance. This Snap uses the inputs from the upstream Snap to determine how to publish the file online. We use the REST operation publish_datasource to accomplish this task.

Upon validation, we get the following output in the preview of the Snap.

Upon executing the Pipeline, the hyper extract file test.hyper is uploaded to Tableau instance and stored under External Assets group.

Once the file is uploaded to Tableau, we can use this data for visualization of product information in terms of graphs or pie charts.

Download this Pipeline

Snap Pack History

Release 

Snap Pack Version

Date

Type

  Updates

4.26

main11181

Aug 14, 2021 

Stable

Added the following Tableau Snaps to support hyper extract files for Tableau 10.25 and later versions.

  • Hyper Formatter: Converts the incoming documents to Tableau hyper extract format and sends the output (extract) to the binary output view.

  • Hyper Parser: Parses Tableau hyper extract files and converts them to a document format.

  • Hyper Write: Creates a hyper file in a temporary location (local disk) for incoming documents and publishes it to Tableau Server/Online without packaging it into a data source.

4.25

main9554

May 8, 2021 

Stable

Upgraded with the latest SnapLogic Platform release.

4.24

main8556

Feb 13, 2021 

Stable

Fixes an issue when updating user information in the Tableau REST Snap by not overwriting the site ID or user ID if the entries already exist.

Behavioral Change

In the 4.23 release, the Tableau REST Snap had a defect where it used site ID and user ID from the Tableau Account even if the selected REST operation required a site ID and/or user ID from the input document. This issue is fixed in the 4.24 release, so that the Snap uses values for the said IDs from the input document when available. Since this fix changes the Snap behavior, it is possible for production Pipelines to fail after the 4.24 release. Hence, you need to reconfigure the Tableau REST Snap using the site ID and user ID values from the input document.

 

4.23

main7430

Nov 14, 2021 

Stable

Upgraded with the latest SnapLogic Platform release.

4.22

main6403

Sep 12, 2020 

Stable

Upgraded with the latest SnapLogic Platform release.

4.21

snapsmrc542

May 9, 2020 

Stable

Upgraded with the latest SnapLogic Platform release.

4.20

snapsmrc535

Feb 8, 2020 

Stable

Upgraded with the latest SnapLogic Platform release.

4.19

snaprsmrc528

Nov 19, 2019 

Stable

Upgraded with the latest SnapLogic Platform release.

4.18

snapsmrc523

Aug 10, 2019 

Stable

Upgraded with the latest SnapLogic Platform release.

4.17

ALL7402

Jun 11, 2019 

Latest

Pushed automatic rebuild of the latest version of each Snap Pack to SnapLogic UAT and Elastic servers.

4.17

snapsmrc515

Jun 11, 2019 

Latest

Added the Snap Execution field to all Standard-mode Snaps. In some Snaps, this field replaces the existing Execute during preview check box.

4.16

snapsmrc508

Feb 16, 2019 

Stable

Upgraded with the latest SnapLogic Platform release.

4.15

snapsmrc500

Dec 15, 2018 

Stable

Upgraded with the latest SnapLogic Platform release.

4.14

snapsmrc490

Aug 15, 2018 

Stable

Upgraded with the latest SnapLogic Platform release.

4.13

snapsmrc486

May 12, 2018 

Stable

Enhanced Tableau Snap Pack to support Tableau version 10.5 (Server version), this includes support for refresh task related REST API calls in the Tableau REST Snap.

4.12

snapsmrc480

Feb 17, 2018 

Stable

Upgraded with the latest SnapLogic Platform release.

4.11

snapsmrc465

Nov 11, 2017 

Stable

Upgraded with the latest SnapLogic Platform release.

4.10

snapsmrc414

Aug 12, 2017 

Stable

Upgraded with the latest SnapLogic Platform release.

4.9

snapsmrc405

May 13, 2017 

Stable

  • Extended the support for Tableau 9 and 10 REST Snap to access the TDE files on S3 (using the IAM role on the Snap Account).

  • Support extended for Tableau 10.1 server version.

  • Updated the Snap account with the properties, XML Schema URL and API version (other).

  • Updated the Snap account with Access Key ID, Secret Key and IAM role to support access to files on S3.

  • Tableau REST Snap extended support to access the TDE files on S3.

4.8

tableau92770

Mar 17, 2017 

Latest

Addressed an issue where the TDE Formatter threw a Field conversion failed error.

4.8

snapsmrc398

Feb 11, 2017 

Stable

Upgraded with the latest SnapLogic Platform release.

4.7

snapsmrc382

Nov 23, 2016 

Stable

Upgraded with the latest SnapLogic Platform release.

4.6

snapsmrc362

Aug 13, 2016 

Stable

  • Enhanced to support chunking when publishing large files for the Tableau 9&10 REST Snap. 

  • Enhanced error reporting when fields are improperly mapped from input Tableau 9&10 REST Snap. 

  • Enhanced error handling to appropriately route errors in the Tableau 9&10 Write Snap. 

  • Enhanced error handling to appropriately route errors in the Snap for the TDE Formatter Snap.

  • Extended the TDE Formatter Snap support for Linux Snaplexes. 

  • Doc Enhancement: Examples added to Tableau 9 Snap documentation.

  • Resolved an issue in Tableau REST Snap that caused failures when publishing workbook and datasources. 

  • Resolved an issue in TDE Formatter and Tableau REST Snap that cause errors on Windows Groundplex.

  • Resolved an issue in Tableau REST Snap that only made available 100 entries of datasource.

4.5.1

tableau91634

May 18, 2016 

Latest

  • Initial release of the Snap Pack with Tableau 9&10 REST, Write and the TDE Formatter Snaps.

  • Supports Tableau 9.1 version of Tableau server.


See Also