TDE Exporter

TDE Exporter exports tables from KBC Storage into the TDE file format (Tableau Data Extract). This component is normally a part of the Tableau Writer, but it can also be used as a standalone component.

Users can run a TDE exporter job as any other KBC component or register it as an orchestration task. After the exporter finishes, the resulting TDE files will be available in the StorageFile uploads section where you can download them via UI or API.

Running the Component

The TDE Exporter is a Keboola Docker component supporting both stored and custom configurations supplied directly in the run request.

Stored Configuration

To run the TDE exporter with a stored configuration, first create the configuration. See below for the required configuration contents. This call will give you the ID of the newly created configuration (for instance, new-configuration-id). Then create a job with the specified configuration:

{
    "config": "new-configuration-id"
}

Custom Configuration

You can specify the entire configuration in the API call. The JSON configuration conforms to the general configuration format. The specific part is only the parameters section. A sample request to the in.c-main.old-table export table would look like this:

{
	"configData": {
		"storage": {
			"input": {
				"tables": [{
					"source": "in.c-main.old-table"
				}]
			}
		},
		"parameters": {
			"tags": ["sometag"],
			"typedefs": {
				"in.c-main.old-table": {
					"id": {
						"type": "number"
					},
					"col1": {
						"type": "string"
					}
				}
			}
		}
	}
}

The parameters section contains:

  • tags: array of tags that will be assigned to the resulting file in Storage File Uploads.
  • typedefs: definitions of data types mapping source tables columns to destination TDE columns.

The type definitions are entered as an object whose name must match the name of the table in the storage.input.tables.source node (in.c-main.old-table in the above example). Object properties are names of the table columns; each must have the type property which is one of the supported column types: boolean, number, decimal, date, datetime and string.

Date and DateTime

Data for these data types can be specified in the format used in the strptime function. The format is specified as part of the column’s type definition. For example:

{
    "col1": {
        "type": "date",
        "format":"%m-%d-%Y"
    }
}

If no format is specified, the following default formats are used:

  • For date: %Y-%m-%d
  • For datetime: %Y-%m-%d %H:%M:%S or %Y-%m-%d %H:%M:%S.%f