2.1. Command Line Shell

Sqoop 2 provides command line shell that is capable of communicating with Sqoop 2 server using REST interface. Client is able to run in two modes - interactive and batch mode. Commands create, update and clone are not currently supported in batch mode. Interactive mode supports all available commands.

You can start Sqoop 2 client in interactive mode using command sqoop2-shell:

sqoop2-shell

Batch mode can be started by adding additional argument representing path to your Sqoop client script:

sqoop2-shell /path/to/your/script.sqoop

Sqoop client script is expected to contain valid Sqoop client commands, empty lines and lines starting with # that are denoting comment lines. Comments and empty lines are ignored, all other lines are interpreted. Example script:

# Specify company server
set server --host sqoop2.company.net

# Executing given job
start job --name 1

2.1.1. Resource file

Sqoop 2 client have ability to load resource files similarly as other command line tools. At the beginning of execution Sqoop client will check existence of file .sqoop2rc in home directory of currently logged user. If such file exists, it will be interpreted before any additional actions. This file is loaded in both interactive and batch mode. It can be used to execute any batch compatible commands.

Example resource file:

# Configure our Sqoop 2 server automatically
set server --host sqoop2.company.net

# Run in verbose mode by default
set option --name verbose --value true

2.1.2. Commands

Sqoop 2 contains several commands that will be documented in this section. Each command have one more functions that are accepting various arguments. Not all commands are supported in both interactive and batch mode.

2.1.2.1. Auxiliary Commands

Auxiliary commands are commands that are improving user experience and are running purely on client side. Thus they do not need working connection to the server.

  • exit Exit client immediately. This command can be also executed by sending EOT (end of transmission) character. It’s CTRL+D on most common Linux shells like Bash or Zsh.
  • history Print out command history. Please note that Sqoop client is saving history from previous executions and thus you might see commands that you’ve executed in previous runs.
  • help Show all available commands with short in-shell documentation.
sqoop:000> help
For information about Sqoop, visit: http://sqoop.apache.org/

Available commands:
  exit    (\x  ) Exit the shell
  history (\H  ) Display, manage and recall edit-line history
  help    (\h  ) Display this help message
  set     (\st ) Configure various client options and settings
  show    (\sh ) Display various objects and configuration options
  create  (\cr ) Create new object in Sqoop repository
  delete  (\d  ) Delete existing object in Sqoop repository
  update  (\up ) Update objects in Sqoop repository
  clone   (\cl ) Create new object based on existing one
  start   (\sta) Start job
  stop    (\stp) Stop job
  status  (\stu) Display status of a job
  enable  (\en ) Enable object in Sqoop repository
  disable (\di ) Disable object in Sqoop repository

2.1.2.2. Set Command

Set command allows to set various properties of the client. Similarly as auxiliary commands, set do not require connection to Sqoop server. Set commands is not used to reconfigure Sqoop server.

Available functions:

Function Description
server Set connection configuration for server
option Set various client side options

2.1.2.2.1. Set Server Function

Configure connection to Sqoop server - host port and web application name. Available arguments:

Argument Default value Description
-h, --host localhost Server name (FQDN) where Sqoop server is running
-p, --port 12000 TCP Port
-w, --webapp sqoop Jetty’s web application name
-u, --url   Sqoop Server in url format

Example:

set server --host sqoop2.company.net --port 80 --webapp sqoop

or

set server --url http://sqoop2.company.net:80/sqoop

Note: When --url option is given, --host, --port or --webapp option will be ignored.

2.1.2.2.2. Set Option Function

Configure Sqoop client related options. This function have two required arguments name and value. Name represents internal property name and value holds new value that should be set. List of available option names follows:

Option name Default value Description
verbose false Client will print additional information if verbose mode is enabled
poll-timeout 10000 Server poll timeout in milliseconds

Example:

set option --name verbose --value true
set option --name poll-timeout --value 20000

2.1.2.3. Show Command

Show commands displays various information as described below.

Available functions:

Function Description
server Display connection information to the sqoop server (host, port, webapp)
option Display various client side options
version Show client build version, with an option -all it shows server build version and supported api versions
connector Show connector configurable and its related configs
driver Show driver configurable and its related configs
link Show links in sqoop
job Show jobs in sqoop

2.1.2.3.1. Show Server Function

Show details about connection to Sqoop server.

Argument Description
-a, --all Show all connection related information (host, port, webapp)
-h, --host Show host
-p, --port Show port
-w, --webapp Show web application name

Example:

show server --all

2.1.2.3.2. Show Option Function

Show values of various client side options. This function will show all client options when called without arguments.

Argument Description
-n, --name Show client option value with given name

Please check table in Set Option Function section to get a list of all supported option names.

Example:

show option --name verbose

2.1.2.3.3. Show Version Function

Show build versions of both client and server as well as the supported rest api versions.

Argument Description
-a, --all Show all versions (server, client, api)
-c, --client Show client build version
-s, --server Show server build version
-p, --api Show supported api versions

Example:

show version --all

2.1.2.3.4. Show Connector Function

Show persisted connector configurable and its related configs used in creating associated link and job objects

Argument Description
-a, --all Show information for all connectors
-c, --cid <x> Show information for connector with id <x>

Example:

show connector --all or show connector

2.1.2.3.5. Show Driver Function

Show persisted driver configurable and its related configs used in creating job objects

This function do not have any extra arguments. There is only one registered driver in sqoop

Example:

show driver

2.1.2.3.7. Show Job Function

Show persisted job objects.

Argument Description
-a, --all Show all available jobs
-n, --name <x> Show job with name <x>

Example:

show job --all or show job --name jobName

2.1.2.3.8. Show Submission Function

Show persisted job submission objects.

Argument Description
-j, --job <x> Show available submissions for given job name
-d, --detail Show job submissions in full details

Example:

show submission
show submission --j jobName
show submission --job jobName --detail

2.1.2.4. Create Command

Creates new link and job objects. This command is supported only in interactive mode. It will ask user to enter the link config and job configs for from /to and driver when creating link and job objects respectively.

Available functions:

Function Description
link Create new link object
job Create new job object

2.1.2.4.2. Create Job Function

Create new job object.

Argument Description
-f, --from <x> Create new job object with a FROM link with name <x>
-t, --to <t> Create new job object with a TO link with name <x>

Example:

create job --from fromLinkName --to toLinkName or create job --f fromLinkName --t toLinkName

2.1.2.5. Update Command

Update commands allows you to edit link and job objects. This command is supported only in interactive mode.

2.1.2.5.2. Update Job Function

Update existing job object.

Argument Description
-n, --name <x> Update existing job object with name <x>

Example:

update job --name jobName

2.1.2.6. Delete Command

Deletes link and job objects from Sqoop server.

2.1.2.6.2. Delete Job Function

Delete existing job object.

Argument Description
-n, --name <x> Delete job object with name <x>

Example:

delete job --name jobName

2.1.2.7. Clone Command

Clone command will load existing link or job object from Sqoop server and allow user in place updates that will result in creation of new link or job object. This command is not supported in batch mode.

2.1.2.7.2. Clone Job Function

Clone existing job object.

Argument Description
-n, --name <x> Clone job object with name <x>

Example:

clone job --name jobName

2.1.2.8. Start Command

Start command will begin execution of an existing Sqoop job.

2.1.2.8.1. Start Job Function

Start job (submit new submission). Starting already running job is considered as invalid operation.

Argument Description
-n, --name <x> Start job with name <x>
-s, --synchronous Synchoronous job execution

Example:

start job --name jobName
start job --name jobName --synchronous

2.1.2.9. Stop Command

Stop command will interrupt an job execution.

2.1.2.9.1. Stop Job Function

Interrupt running job.

Argument Description
-n, --name <x> Interrupt running job with name <x>

Example:

stop job --name jobName

2.1.2.10. Status Command

Status command will retrieve the last status of a job.

2.1.2.10.1. Status Job Function

Retrieve last status for given job.

Argument Description
-n, --name <x> Retrieve status for job with name <x>

Example:

status job --name jobName