How to run Workload Analyzer – Automatic


  • Teradata ODBC driver 15.10 installed and operational
  • Python 2.7

Steps to deploy and run Workload Analyzer:

  1. Download and extract distribution archive:
    tar xzf dtm-2.5.18+b2960-el6.x86_64.tar.gz
  2. Run extracted installer:
  3. Go to wla subfolder:
    cd dtm-2.5.18+b2960/wla
  4. Analyze workload file (for placeholders refer to table below):
    ./wla -b <DW> -h <TDHost> -u <TDUser> -f <Workload>
  5. Once complete, extract output/
  6. Open index.html in a browser
  7. Refer to output/err_queries_YYYY-MM-DD_HH.MM.SS.out for detailed errors of unsuccessful queries

Example command:
./wla -b snowflake -h tdhost -u tduser -f workload.sql




Assumed modern DW; supported values:

•greenplum  (Greenplum DB)

•impala  (Cloudera Impala)

•msadw  (Microsoft SQL DW)

•redshift  (Amazon Redshift)

•snowflake  (Snowflake)


Hostname of the Teradata database providing metadata


Username to connect to Teradata database for retrieving metadata


Path to the input file containing the workload (dumped query log)

Some hints - these may become redundant as we include some of the steps into WLA:

  • Use tdxodbc64 tool supplied with Teradata drivers to test connectivity of the ODBC drivers to the Teradata box:
    tdxodbc64 -c SQLDriverConnect -C "DRIVER=Teradata; DBCNAME=<TDHost>; UID=<TDUser>; PWD=<TDPass>"
  • We have seen a couple of times that, despite being picked up by the application itself (Hyper-Q, WLA), the odbcinst.ini needs to be pointed at by the environment variable ODBCINST. Set it to the appropriate file if there are issues with the Teradata ODBC drivers. E.g.,:
    export ODBCINST=/opt/teradata/client/15.10/odbc_64/odbcinst.ini
  • We have seen that customers did not have the ICU package (required by TD ODBC drivers) when they downloaded the TD ODBC driver packages from the customer-only, internal download page of Teradata. Use the ODBC driver package that can be downloaded from Teradata Developer Exchange, which contains the driver, GSS, and ICU packages:
  • If Python 2.7 is not available as the default name python, edit the first line of qi, qi-core and report/ to reflect the required python interpreter. E.g., if the binary is called python2.7, change the lines to read:
    #! /usr/bin/env python2.7
Have more questions? Submit a request


  • 0
    Mike Waas

    Great info!

    How do I know if the env variable needs to be set? How do I know if the ICU package is missing?

Please sign in to leave a comment.