HIDDEN TableauWriter
Last updated
Last updated
TableauWriter writes data in Tableau (.hyper
) files. The component depends on native libraries - see below.
Extract Upgrade to .hyper Format
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 .
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 Data Shaper) 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.
TableauWriter
Tableau binary file
1
0
x
x
x
x
x
Input
0
✓
For received data records
Not all data types
Input metadata of TableauWriter cannot contain data types decimal
, byte
and cbyte
. Tableau types do not have sufficient precision for Data Shaper type decimal
and the conversion would be lossy. A recommended alternative to decimal
data type in TableauWriter is number (double)
. Data Shaper 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.
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
See Tableau Table Structure below.
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
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 depends on native libraries. You need to download the libraries and set up your operating system to use it.
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
.
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/
.
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.
When a .hyper
file is open in Tableau application, Data Shaper 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.
The libraries can be downloaded from .
For more information, see the Linux documentation: .
For more information, see last paragraph of .
More TableauWriters cannot write in the same as Tableau API is not threadsafe.