框架:
安装sqoop的前提是已经具备java和hadoop的环境
sqoop2版本详细下载地址
http://archive.cloudera.com/cdh5/cdh/5/sqoop2-1.99.5-cdh5.14.0.tar.gz
1 我们这里使用sqoop1的版本,下载之后上传到/export/softwares目录下,然后进行解压
cd /export/softwares
tar -zxvf sqoop-1.4.6-cdh5.14.0.tar.gz -C ../servers/
2 修改配置文件
cd /export/servers/sqoop-1.4.6-cdh5.14.0/conf/
cp sqoop-env-template.sh sqoop-env.sh
vim sqoop-env.sh
export HADOOP_COMMON_HOME=/export/servers/hadoop-2.6.0-cdh5.14.0
export HADOOP_MAPRED_HOME=/export/servers/hadoop-2.6.0-cdh5.14.0
export HIVE_HOME=/export/servers/hive-1.1.0-cdh5.14.0
3 加入依赖包
sqoop的使用需要添加两个额外的依赖包,一个是mysql的驱动包,一个是java-json的的依赖包,不然就会报错
mysql-connector-java-5.1.40.jar
java-json.jar
将这个两个jar包添加到sqoop的lib目录下
4 验证启动
cd /export/servers/sqoop-1.4.6-cdh5.14.0
bin/sqoop-version
查看是否成功
bin/sqoop list-databases --connect jdbc:mysql://172.16.43.67:3306/ --username root --password admin
导出命令
bin/sqoop import --connect jdbc:mysql://192.168.1.101:3306/userdb --password admin --username root --table emp --m 1
为了验证在HDFS导入的数据,请使用以下命令查看导入的数据
hdfs dfs -ls /user/root/emp
导入到hdfs指定目录并指定字段之间的分隔符
bin/sqoop import --connect jdbc:mysql://172.16.43.67:3306/userdb --username root --password admin --delete-target-dir --table emp --target-dir /sqoop/emp2 --m 1 --fields-terminated-by '\t'
查看hdfs上文件的具体内容
hdfs dfs -text /sqoop/emp2/part-m-00000
面试题:如何解决减量数据???
数据库删除的数据实际上是假删除。只要回复删除字段的delete状态值由0==》1 数据会重新回来