TableauWriter
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 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. |
Component | Data output | Input ports | Output ports | Transformation | Transf. required | Java | CTL | Auto-propagated metadata |
---|---|---|---|---|---|---|---|---|
TableauWriter |
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 |
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
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.
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 |
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 |