sqoop底层原理是mapreduce,只不过没有聚合过程,故只有map任务
sqoop数据导入(mysql->hdfs)功能:
全表导入
sqoop import \ /* ''表示语句没有结束,换行 */
–connect jdbc:mysql://192.168.19.1:3306/imooc?serverTimezone=UTC \ /指定链接地址/
–username root
–password admin
–table user \ 从哪个表中取数据
–target-dir /out \ 放到hdfs哪个目录中
–delete-target-dir \ 如输出目录存在,把他删除
–num-mappers 1 \ 最终生成mapper任务数量,默认是4个
–fields-terminated-by ‘\t’ 分隔符
–split-by id 根据id切分任务
查询导入
查询语句过滤数据后导入
sqoop import \ /* ''表示语句没有结束,换行 */
–connect jdbc:mysqll://192.168.182.1:3306/imooc?serverTimezone=UTC \ /指定链接地址/
–username root
–password admin
–target-dir /out2 \ 放到hdfs哪个目录中
–delete-target-dir \ 如输出目录存在,把他删除
–num-mappers 1 \ 最终生成mapper任务数量,默认是4个
–fields-terminated-by ‘\t’ \ 分隔符
–query ‘select * from t1 where id > 1 and $CONDITIONS’ 为了多个map任务并行处理时不重复处理数据
sqoop import --connect jdbc:mysql://192.168.19.1:3306/mysql?serverTimezone=UTC --username root --password 123456 --table t1 --target-dir /out1 --num-mappers 1 --fields-terminated-by ‘\t’
数据导出
sqoop export
–connect jdbc:mysql://192.168.182.2:3306/imooc?serverTimezone=UTC
–username root
–password admin
–table user2
–export-dir /out2
–input-fields-terminated-by ‘\t’
–update-key id
–update-mode allowinsert
存在则更新,不存在则插入文章来源:https://www.toymoban.com/news/detail-420746.html
sqoop export --connect jdbc:mysql://192.168.182.2:3306/mysql?serverTimezone=UTC --username root --password 123456 --table t2 --export-dir /out2 --input-fields-terminated-by ‘\t’ --update-key id --update-mode allowinsert文章来源地址https://www.toymoban.com/news/detail-420746.html
到了这里,关于sqoop的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!