Sqoop 示例

Import:RDBMS到HDFS

从RDBMS导入数据

示例数据

mysql> create database company;
mysql> create table company.staff(
id int(4) primary key not null auto_increment,
name varchar(255),
sex varchar(255)
);
mysql> insert into company.staff(name,sex) values('Thomas','Male'),('Catalina','FeMale');
mysql> select * from company.staff;

导入到HDFS

查看结果
$ hdfs dfs -cat /sqoop/company/part-m-00000

查询导入
$ sqoop import
--connect jdbc:mysql://host000:3306/company
--username root
--password ok
--query 'select name,sex from staff where id = 1 and $CONDITIONS;'
--target-dir /sqoop/company
--delete-target-dir
--num-mappers 1
--fields-terminated-by "\t";
解释说明:$CONDITIONS为了保证导入数据的顺序。
--query "select name,sex from staff where id = 1 and $CONDITIONS;"

指定表
$ sqoop import
--connect jdbc:mysql://host000:3306/company
--username root
--password ok
--table staff
--target-dir /sqoop/company
--delete-target-dir
--num-mappers 1
--fields-terminated-by "\t";

指定列
$ sqoop import
--connect jdbc:mysql://host000:3306/company
--username root
--password ok
--table staff
--columns id,sex
--target-dir /sqoop/company
--delete-target-dir
--num-mappers 1
--fields-terminated-by "\t";

指定条件
$ sqoop import
--connect jdbc:mysql://host000:3306/company
--username root
--password ok
--table staff
--columns id,sex
--where "id = 1"
--target-dir /sqoop/company
--delete-target-dir
--num-mappers 1
--fields-terminated-by "\t";

导入到Hive

$ sqoop import
--connect jdbc:mysql://host000:3306/company
--username root
--password ok
--table staff
--num-mappers 1
--fields-terminated-by "\t"
--hive-import
--hive-overwrite
--hive-table staff_hive;

导入到HBase

$ sqoop import
--connect jdbc:mysql://host000:3306/company
--username root
--password ok
--table staff
--num-mappers 1
--hbase-create-table
--hbase-table "staff_hbase"
--column-family "info"
--hbase-row-key "id"
--split-by id

解释说明:sqoop1.4.6只支持HBase1.0.1之前版本的自动创建表功能,但是cdh版本可以直接用。

Export:HDFS到RDBMS

导出数据到RDBMS

导出到MySQL

$ sqoop export
--connect jdbc:mysql://host000:3306/company
--username root
--password ok
--table staff
--num-mappers 1
--export-dir /user/hive/warehouse/staff_hive
--input-fields-terminated-by "\t";

你可能感兴趣的:(Sqoop 示例)