1 简介 Sqoop 是一个用来将 Hadoop 和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如:MySQL ,Oracle ,Postgres 等)中的数据导进到 Hadoop 的HDFS 中,也可以将 HDFS 的数据导进到关系型数据库中。 Sqoo p已在CDH集群中配置完成。集群中使用的是sqoop2. 关于sqoop 1和sqoop 2 的区别如下: S qoop 2和 sqoop1 的区别 Sqoop1 架构图: Sqoop2 架构图: 使用# 指定列$ sqoop import --connect jdbc:mysql://db./corp --table EMPLOYEES --columns "employee_id,first_name,last_name,job_title" # 使用 8 个线程$ sqoop import --connect jdbc:mysql://db./corp --table EMPLOYEES -m 8# 快速模式$ sqoop import --connect jdbc:mysql://db./corp --table EMPLOYEES --direct # 使用 sequencefile 作为存储方式$ sqoop import --connect jdbc:mysql://db./corp --table EMPLOYEES --class-. --as-sequencefile # 分隔符$ sqoop import --connect jdbc:mysql://db./corp --table EMPLOYEES --fields-terminated-by '\t' --lines-terminated-by '\n' --optionally-enclosed-by '\"' # 导入到 hive $ sqoop import --connect jdbc:mysql://db./corp --table EMPLOYEES --hive-import # 条件过滤$ sqoop import --connect jdbc:mysql://db./corp --table EMPLOYEES --where "start_date > '2010-01-01'" #用 dept_id 作为分个字段$ sqoop import --connect jdbc:mysql://db./corp --table EMPLOYEES --split-by dept_id # 追加导入$ sqoop import --connect jdbc:mysql://db./somedb --table sometable --where "id > 100000" --target-dir /incremental_dataset – append - ------------------------- 华丽的分割线------------------------ 将 mysql 中的数据导入 hdfs 文件系统中 sqoop import --connect jdbc:mysql://:3306/mysql --username root --password root --table help_topic --fields-terminated-by '\t' -m 2 --target-dir /user/mysql/topic2/$today --default-character-set=utf-8 将 oracle 中的数据导入 hdfs 文件系统中 sqoop import --connect jdbc:oracle:thin:***@:1521:orcl --username oracle --password oracle --table recmail --columns "nid,ssubject,srecusers,ssendusers,scc,scontent" --fields-terminated-by '\t' -m 1 --target-dir /user/oracle/email/$today 使用— query 关联查询 sqoop import --connect jdbc:mysql://:3306/test --username root --password root --query 'SELECT ,,, FROM user u join score s o
sqoop使用文档教程方案 来自淘豆网www.taodocs.com转载请标明出处.