Version

    TableauWriter

    TableauWriter 64x64

    Short Description

    Ports

    Metadata

    TableauWriter Attributes

    Details

    Compatibility

    See also

    Short Description

    TableauWriter writes data in Tableau (.hyper) files. The component depends on native libraries.

    Extract Upgrade to .hyper Format

    Since version 5.4.0, the .tde file format has been replaced by .hyper; therefore, you should change the file name extension in your existing graphs containing a TableauWriter component. For more information, see Extract Upgrade to .hyper Format.

    Also note that the hyper extract API 2.0 uses a new in-memory data engine which is faster but requires more RAM. The memory is used by native process (outside of CloverDX) and is allocated dynamically depending on exported data-record size (the number and size of columns in the exported table). These requirements can reach several GB of RAM.

    Data output Input ports Output ports Transformation Transf. required Java CTL Auto-propagated metadata

    Tableau binary file

    1

    0

    Ports

    Port type Number Required Description Metadata

    Input

    0

    For received data records

    Not all data types

    Metadata

    Input metadata of TableauWriter cannot contain data types decimal, byte and cbyte. Tableau types do not have sufficient precision for CloverDX type decimal and the conversion would be lossy. A recommended alternative to decimal data type in TableauWriter is number (double). CloverDX data types byte and cbyte do not have a corresponding Tableau data type.

    Metadata containers (list, map) are not supported.

    To set up mapping of particular metadata fields on Tableau metadata, use the attribute Tableau Table Structure.

    TableauWriter Attributes

    Attribute Req Description Possible values

    Basic

    File URL

    yes

    Specifies where received data will be written. The file name must have the .hyper suffix. If you are using graphs from previous versions containing TableauWriter, you should change the file extension from .tde to .hyper.

    e.g. file.hyper

    Table name

    yes

    The name of the table.

    Default table collation

    Value of the default collation used in the Tableau Table Structure dialog.

    EN_US (default) | any from the list

    Tableau table structure

    Advanced

    Action on existing output file

    Defines an action to be done if the output file already exists.

    Overwrite table (replace the file) | Append to table | Terminate processing

    Details

    Tableau Table Structure

    Adding Libraries

    Notes and Limitations

    Tableau Table Structure

    The Tableau Table Structure dialog serves to assign Tableau data types and collation to particular metadata fields.

    The input field above the list of fields works as a filter to the displayed fields.

    TableauWriter TableauTableStructure
    Figure 418. Tableau Table Structure
    Adding Libraries

    TableauWriter depends on native libraries. You need to download the libraries and set up your operating system to use it.

    The libraries can be downloaded from Installing the Extract API 2.0.

    Linux

    Download and unpack the Extract API for C/C++/Java.

    Add Tableau’s directory bin to system PATH and lib64/tableausdk to system LD_LIBRARY_PATH.

    For more information, see the Linux documentation: Shared Libraries.

    Windows

    Download and unpack the Extract API for C/C++/Java.

    Add Tableau’s bin directory to system PATH.

    Mac OS X

    Download and open C/C++/Java Mac OS X .dmg (image file, 64-bit).

    Drag TableauCommon.framework and TableauHyperExtract.framework directories to system/Library/Frameworks/.

    Logging, temp configuration

    It is advisable to set the following environment variables to specify working directories for the Extract API. If you don’t set these variables, the Extract API uses the current working directory as the default location.

    • TAB_SDK_LOGDIR - The folder where the Extract API writes the DataExtract*.log file.

    • TAB_SDK_TMPDIR - The temporary directory where the Extract API keeps intermediate (temporary) files, such as when it’s creating an extract.

    The directories specified by TAB_SDK_LOGDIR and TAB_SDK_TMPDIR must exist on the file-system and be writable. If the directories do not exist, the Extract API fails (with message Unknown error or Hyper Server did not start correctly: exit code: 1 or similar).

    For more information, see last paragraph of Installing the Extract API 2.0 .

    Notes and Limitations

    More TableauWriters cannot write in the same phase as Tableau API is not threadsafe.

    When a .hyper file is open in Tableau application, CloverDX cannot write into it.

    TableauWriter cannot write data directly to .zip files via URL (e.g. zip:(/path/file.zip)#file.hyper) as the URL from the component is passed down to the Tableau library and the library cannot write zip files in this way.

    Recommended Swap Size

    On Linux, in the case of a small swap size, an exception may occur:

    com.tableausoftware.TableauException: Cannot allocate memory - fork()

    To prevent this, you can either:

    • increase the size of swap to equal the RAM size, or

    • allow memory overcommit (see overcommit accounting).

    In the latter case, make sure you understand the implications.

    Concurrent run of TableauWriter components

    More TableauWriter components cannot run at the same time. If there is a TableauWriter component already running, and a second TableauWriter component needs to run, the graph with the second component fails.

    Compatibility

    Version Compatibility Notice

    4.0

    TableauWriter component is available since 4.0.0.

    5.4

    Extension of TableauWriter file changed from .tde to .hyper.