赞
踩
Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。Sqoop专为大数据批量传输设计,能够分割数据集并创建Hadoop任务来处理每个区块。
数据库:
* driver
* URL、username、password
* database、table
hadoop:
* type (hdfp、hive、hbase)
* path 存储到哪里?
* 数据分隔符
* mappers 数量,也就是使用多少线程。
![sqoop 命令列表][1]
sqoop list-databases \
--connect jdbc:mysql://192.168.66.4:3306 \
--username sendi \
--password 1234
![list-databases 例子][2]
sqoop list-tables \
--connect jdbc:mysql://192.168.66.4:3306/networkmanagement \
--username sendi \
--password 1234
![list-tables 例子][3]
sqoop import
--connect jdbc:mysql://192.168.66.4:3306/networkmanagement \
--username sendi \
--password 1234 \
--table people
--hive-import
--create-hive-table
--fields-terminated-by "\t"
-m 5
可以使用两种方式:
* –split-by 指定切分的字段
* -m 1 : 设置只使用一个map进行数据迁移
支持的数据库类型与版本:
* myslq 5.0 以上
* oracle 10.2.0 以上
增量导入对应,首先需要知监控那一列,这列要从哪个值开始增量
* check-column id 用来指定一些列
* 这些被指定的列的类型不能使任意字符类型,如char、varchar等类型都是不可以的,常用的是指定主键id.
* –check-column 可以去指定多个列
incremental 增量的模式
lastmodified “2016-12-15 15:47:30” 获取某个时间后修改的所有数据
注意:增量导入不能与 –delete-target-dir 一起使用,还有必须指定增量的模式
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。