Teradata
Teradata is supported as a source database -- the database LakeXpress extracts data from. It cannot be used as the LakeXpress DB.
Connecting to Teradata requires the teradatasql Python driver.
Connection Parameters
| Parameter | Required | Description |
|---|---|---|
ds_type | Yes | Must be "teradata" |
auth_mode | Yes | "classic" for individual fields; "connection_string" to supply a full connection string |
server | Yes | Hostname or IP |
port | No | Port (default: 1025) |
database | Yes | Database name |
username | Yes | Teradata username |
password | Yes | Teradata password |
Required Permissions
-- Source database user:
GRANT SELECT ON your_database TO lakexpress_user;
-- Metadata access (table discovery, column metadata, primary keys, foreign keys):
GRANT SELECT ON DBC.TablesV TO lakexpress_user;
GRANT SELECT ON DBC.ColumnsV TO lakexpress_user;
GRANT SELECT ON DBC.IndicesV TO lakexpress_user;
GRANT SELECT ON DBC.All_RI_ChildrenV TO lakexpress_user;
Example: Source Database
{
"source_teradata": {
"ds_type": "teradata",
"auth_mode": "classic",
"info": {
"server": "teradata-prod.company.com",
"port": 1025,
"database": "DW",
"username": "$env{LX_TD_USER}",
"password": "$env{LX_TD_PASSWORD}"
}
}
}
Example: Connection String Mode
Use auth_mode: "connection_string" when you need to pass advanced driver options.
{
"source_teradata_cs": {
"ds_type": "teradata",
"auth_mode": "connection_string",
"info": {
"connection_string": "{\"host\":\"$env{LX_TD_HOST}\",\"dbs_port\":\"1025\",\"user\":\"$env{LX_TD_USER}\",\"password\":\"$env{LX_TD_PASSWORD}\",\"database\":\"DW\"}"
}
}
}
FastBCP Methods
All generic FastBCP distribution methods are supported with Teradata sources:
| Method | Description |
|---|---|
None | Single-threaded export (default) |
Random | Parallel export using an integer column |
DataDriven | Split by column values into separate files |
RangeId | Split by column min/max ranges |
Ntile | Evenly distributed chunks |
Timepartition | Partition by date/time column (e.g., (col,year,month)) |
Example with Timepartition:
--fastbcp_table_config "ORDERS:Timepartition:(ORDER_DATE,year,month):8"
See Also
- Database Connections Overview - Auth file format, security best practices