Version

    TableauWriter

    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.

    [Important]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.

    ComponentData outputInput portsOutput portsTransformationTransf. requiredJavaCTLAuto-propagated metadata
    TableauWriterTableau binary file10

    Ports

    Port typeNumberRequiredDescriptionMetadata
    Input0For received data recordsNot 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

    AttributeReqDescriptionPossible values
    Basic
    File URLyes

    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 nameyes

    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 See 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.

    Tableau Table Structure

    Figure 56.28. 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.

    [Note]Note

    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

    VersionCompatibility Notice
    4.0TableauWriter component is available since 4.0.0.
    5.4Extension of TableauWriter file changed from .tde to .hyper.