Sqoop2命令行和REST接口使用(1.99.3) 2015-07-21 16:00

说明

connector:连接外部数据源的相关驱动。

connection:外部连接信息,比如针对某一个MySQL数据库的连接。

job:导入导出任务。需要关联connector。比如将某关联的MySQL中的数据导入到HDFS。

命令模式

共有两种模式,分别是交互式模式和批处理模式。交互式模式就是直接启动client。批处理模式的命令如下:

sqoop.sh client /path/to/your/script.sqoop

最后一个参数是命令的批处理脚本。

CLI使用

connector

  • 查看connector信息
show connector --all

connection

  • 创建connection:
create connection --cid 1

参数“1”是connection的ID。

按提示需要输入数据库的IP、用户名、密码等信息:

Configuration configuration
JDBC Driver Class: com.mysql.jdbc.Driver
JDBC Connection String: jdbc:mysql://mysql.server/database
Username: root
Password: ******
JDBC Connection Properties:
There are currently 0 values in the map:
entry#

Security related configuration options
Max connections: 0
New connection was successfully created with validation status FINE and persistent id 1
  • 克隆connection:
clone connection --xid 1

按提示填写需要更改的信息,Sqoop自动重新一个新的connection ID。

  • 删除connection:
delete connection --xid 2

job

  • 创建job
create job --xid 1 --type import

参数“1”是job的ID。

按提示需要输入job的信息,比如哪个表,输入到HDFS哪个目录等:

Please fill following values to create new job object
Name: First job

Database configuration
Table name: users
Table SQL statement:
Table column names:
Partition column name:
Boundary query:

Output configuration
Storage type:
  0 : HDFS
Choose: 0
Output directory: /user/jarcec/users
New job was successfully created with validation status FINE and persistent id 1
  • 查看job
show job --all
  • 启动job
start job --jid 1
  • 停止job
stop job --jid 1
  • 查询job状态
status job --jid 1
  • 克隆job
clone job --jid 1

按提示填写需要更改的信息,Sqoop自动重新一个新的Job ID。

REST接口使用

curl http://data03:12000/sqoop/version | python -mjson.tool

完整的接口文档详见官方文档。

参考文档

  1. Sqoop 5 Minutes Demo(此文档中的命令有误)
  2. Command Line Client
  3. Sqoop REST API Guide
Tags: #Sqoop    Post on ETL