= Treasure Data command line tool {}[https://circleci.com/gh/treasure-data/td.svg?style=svg] {}[https://ci.appveyor.com/project/treasure-data/td/branch/master] {}[https://coveralls.io/github/treasure-data/td?branch=master]
This CUI utility wraps the {Ruby Client Library td-client-ruby}[https://github.com/treasure-data/td-client-ruby] to interact with the REST API in managing databases and jobs on the Treasure Data Cloud.
For more info about Treasure Data, see https://www.treasuredata.com/.
For full documentation see https://docs.treasuredata.com/.
= Getting Started
Install td command as a gem.
> gem install td
See help message for details.
> td
You need to authorize the account, before executing any other commands.
> td account
= Sample Workflow
> td account -f # authorize an account
user: k@treasure-data.com
password: **********
> td database:create mydb # create a database
> td table:create mydb www_access # create a table
= Packaging
== Mac OS X
Disable RVM or rbenv and use ruby.pkg's ruby (/usr/local/td/ruby/bin/ruby). And then run following commands:
$ /usr/local/td/ruby/bin/gem install bundler rubyzip
$ /usr/local/td/ruby/bin/bundle install
$ /usr/local/td/ruby/bin/rake pkg:build
It uses https://github.com/treasure-data/ruby-osx-packager
== Windows
Install following binary packages:
Then run following commands on MinGW Shell:
$ mingw-get install msys-vim
$ mingw-get install msys-wget
$ gem install bundler rubyzip
$ bundle install # don't use "--path" option
$ rake exe:build # don't use "bundle exec"
== Bulk Import
Some of the +td+ commands prefixed with +td+ +import+ leverages the {Java Bulk Import CLI td-import-java}[https://github.com/treasure-data/td-import-java] to process and Bulk load data in the Treasure Data Cloud.
The Bulk Import CLI is downloaded automatically at the first call to any of the command that require it; the use will need internet connectivity in order to fetch the Bulk Import CLI JAR file from the {Central Maven repository}[https://repo1.maven.org/maven2/com/treasuredata/td-import/] and take advantage of these advanced features. If you need to setup a proxy, please consult this {documentation}[https://docs.treasuredata.com/display/public/INT/Legacy+Bulk+Import+Tips+and+Tricks#LegacyBulkImportTipsandTricks-UsingaProxyServer] page.
The log levels and properties of the Bulk Import CLI can be configured in a +logging.properties+ file. A default configuration is provided in a file within the gem or Toolbelt folder root, in the +java/+ folder. If you wish to customize it, please make a copy of this file and store it in the:
~/.td/java folder on Mac OSX or Linux
%USERPROFILE%\.td\java folder on Windows
== Testing Hooks
The CLI implements several hooks to enable/disable/trigger special behaviors. These hooks are expressed as environment variables and can therefore be provided in several ways:
=== How to Use
Unix / Linux / MacOSX
environment variable export in the shell the command is executed. The setting remains active until the shell is closed. E.g.:
$ export TD_TOOLBELT_DEBUG=1
in the shell configuration file, to be active in any new shell that is opened. E.g.: add
export TD_TOOLBELT_DEBUG=1
to ~/.bashrc or equivalent shell configuration file. To make the setting active in the current shell, source the configuration file, e.g.:
$ source ~/.bashrc
on the command line at runtime (active only for the duration of the command). E.g.:
$ TD_TOOLBELT_DEBUG=1 td ....
as alias on in the current shell. The setting remains active until the shell is closed. E.g.:
$ alias td='TD_TOOLBELT_DEBUG=1 td'
as alias in configuration file, to be active in any new shell that is opened. E.g.:
alias td='TD_TOOLBELT_DEBUG=1 td'`
to ~/.bashrc or equivalent shell configuration file. To make the setting active in the current shell, source the configuration file, e.g.:
$ source ~/.bashrc
Windows
in the command prompt the command is executed. The setting remains active until the command prompt window is closed. E.g.:
cmd> set TD_TOOLBELT_DEBUG=1
as a global environment variable in the system settings. It will be active for all new command prompt windows.
These are the available hooks:
Enable debugging mode:
$ TD_TOOLBELT_DEBUG=1
JAR auto update (enabled by default is not specified). This setting does not affect import:jar_update:
Enable:
$ TD_TOOLBELT_JAR_UPDATE=1
Disable:
$ TD_TOOLBELT_JAR_UPDATE=0
Specify an alternative endpoint to use updating the toolbelt (default: http://toolbelt.treasuredata.com):
$ TD_TOOLBELT_UPDATE_ROOT="http://toolbelt.treasuredata.com"
Specify an alternative endpoint to use updating the JAR file (default: https://repo1.maven.org):
$ TD_TOOLBELT_JARUPDATE_ROOT="https://repo1.maven.org"
= Copyright
Copyright:: Copyright (c) 2015 Treasure Data Inc. License:: Apache License, Version 2.0