CLI Reference

How to Use

The basic syntax of executing a command is:

wht <command> <subcommand> [parameters]

help

Provides information on any command.

Command

wht help

Get list of all the commands.

Subcommand

wht help <command name>

Get usage information for a specific command, with subcommands and optional parameters.

init

Create profile and initialize projects.

Subcommands

wht init profile

This will input values for connections profile and then store it in siteconfig.yaml file at .wht folder of home directory.

wht init wht-project

This will generate files in a folder named HelloWhtProject with sample data, that you can change as per project information, models, etc.

wht init goapp-project

TBD, this will initialize a data app project in GO.

wht init ml-project

TBD, this will initialize an ML project.

Optional Parameters

To create a wht-project with name different than HelloWhtProject, specify it as an additional parameter at end of command.

wht init wht-project SomeOtherProject

This will create wht-project in the folder SomeOtherProject.

compile

Generates SQL queries from models.

Command

wht compile

This will create SQL queries from the model YAML file, storing the generated results in output subfolder of the project’s folder. With each run, a new folder will be created inside it, with name being the number indicating the models were run. You can manually execute these SQL files on the warehouse.

Optional Parameters

clean_output

This will empty the output folder(s) before executing the command.

-c

In case you want to use a site config file other than the one in ~/.wht/ directory. An example of how to use:

wht compile -c MyOtherProfile/siteconfig.yaml

-t

You can use it to define target name (as mentioned in siteconfig.yaml) or the timestamp in building the model.

Say your siteconfig.yaml has two targets, dev and test, and you want to use the test instance:

wht compile -t test

When you want to fetch all the data in source tables:

wht compile -t timeless

-w

In case you want to use a project file other than the one in current directory:

wht compile -w MyOtherProject/wht-project.yaml

run

Creates ID Stitched or Feature Table on the Warehouse.

Command

wht run

This will genrate the SQL from model files and also execute it on the warehouse. After the command execution is complete, you can see the names of output tables on the screen, which you can access from the warehouse.

Optional Parameters

Same as in compile command, with these addtional parameters:

--force

It will do a force run, even if the material already exists.

-w

Write all the generated tables to CSV files in the specified directory.

wht compile -w WriteOutputHere/

discover

Discovers elements in the warehouse, such as models, entities, features and sources.

Command

wht discover

This allows you to discover all the registered elements in the warehouse.

Subcommands

wht discover models

Here you can discover all the models in the warehouse.

You can change parameter in the above command to discover all the entities, features and sources in the warehouse.

wht discover entities

wht discover features

wht discover sources

Optional Parameters

-e

If you want to discover specific entities with that name.

wht discover -e 'TheName'`

-m

To discover a specific model.

wht discover -m 'MY_DATABASE.PROD_SCHEMA.CREATED_MODEL'

-c

To use a site config other than the default one. Extending the previous example to show a combination of both:

wht discover -m 'MY_DATABASE.PROD_SCHEMA.CREATED_MODEL' -c siteconfig.yaml

-s

To discover entities in a specified schema.

-u

Discover the entities having these source URL’s. Say you want to discover all the entities coming from GitHub:

wht discover -u %github%

-t

You can use it to define target name (as mentioned in siteconfig.yaml).

-w

Use a project file other than the one in current directory.

wht discover -w SomeOtherProject/wht-project.yaml