The create-hive-table tool populates a Hive metastore with a definition for a table based on a database table previously imported to HDFS, or one planned to be imported. This effectively performs the --hive-import step of sqoop-import without running the preceding import.

If data was already loaded to HDFS, you can use this tool to finish the pipeline of importing the data to Hive. You can also create Hive tables with this tool; data then can be imported and populated into the target after a preprocessing step run by the user.

The tool usage is shown below.

$ sqoop create-hive-table <generic-args> <create-hive-table-args>
$ sqoop-create-hive-table <generic-args> <create-hive-table-args>

Although the generic Hadoop arguments must precede any create-hive-table arguments, the create-hive-table arguments can be specified in any order with respect to one another.

Common arguments

--connect <jdbc-uri>

Specifies the JDBC connection string

--connection-manager <class-name>

Specifies the connection manager class to use

--connection-param-file <filename>

Specifies optional properties file that provides connection parameters

--driver <class-name>

Specifies the JDBC driver class to use

--hadoop-mapred-home <dir>



Prints usage instructions


Sets the path to a file containing the authentication password


Reads the password from the console

--password <password>

Specifies the authentication password

--username <username>

Specifies the authentication username


Prints more information while working


Instructs Sqoop to use the read-uncommitted isolation level

Hive arguments


If set, then the job fails if the target Hive table exists

--hive-home <dir>

Overrides $HIVE_HOME


Overwrites existing data in the Hive table

--hive-table <table-name>

Sets the table name to use when importing to Hive

--table <t>

The database table to read the definition from

Output line formatting arguments

--enclosed-by <char>

Sets a required field enclosing character

--escaped-by <char>

Sets an escape character

--fields-terminated-by <char>

Sets a field separator character

--lines-terminated-by <char>

Sets an end-of-line character


Uses the MySQL default delimiter set: fields — ,, lines — \n, escaped-by — \, optionally-enclosed-by — '

--optionally-enclosed-by <char>

Sets an optional field enclosing character

Do not use enclosed-by or escaped-by delimiters with output formatting arguments used to import to Hive. Hive cannot currently parse them.

Found a mistake? Seleсt text and press Ctrl+Enter to report it