这篇文章主要介绍Sqoop1如何导入导出,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
Sqoop1 由 Client 端直接接入 Hadoop,任务通过解析生成对应的 MR 执行
Sqoop1 仅有一个客户端,架构简单明了,部署即用,使用门槛比较低,但是耦合性强,用户密码暴露不安全
Sqoop2 服务端部署,运行,提供 Cli、rest api、webui 等入口,Connector 集中管理,RDBMS控制账户更安全,但是 Sqoop2 仅负责数据的读写操作,架构相对复杂
注意:首先要启动MySQL、ZK、Hadoop
# sqoop1 导入命令 mysql=>hdfs bin/sqoop import # mysql驱动类 --driver com.mysql.cj.jdbc.Driver # 连接字符串 --connect jdbc:mysql://192.168.56.1/dbName?serverTimezone=GMT%2B8 # 从哪张表导数据 --table tbName # mysql账号 --username root # mysql 密码 --password 123456 --verbose # 目标目录(HDFS) --target-dir=/sqoop/a_users
# 导入数据 # --query和--table是互斥的; bin/sqoop import --connect jdbc:mysql://192.168.56.1/dbName?serverTimezone=GMT%2B8 --username root --password 123456 --verbose # 获取记录条数 --fetch-size 30 # SQL 语句 # $CONDITIONS sql语句执行的条件,这个条件由sqoop自己控制 --query 'select * from a_users where $CONDITIONS' # 按照 id 切分 #--split-by;拆分的这一列不能重复,一般是主键 --split-by id # 目标目录(HDFS) --target-dir=/sqoop/a_users
# 新建一个文件;(一行一个,使用#注释);文件名随便写 import --connect jdbc:mysql://192.168.56.1/dbName?serverTimezone=GMT%2B8 --username root --password 123456 --verbose --fetch-size 30 --query 'select * from a_users where $CONDITIONS' --split-by id --target-dir=/sqoop/a_users
执行Sqoop脚本文件的命令
bin/sqoop --options-file /root/fileName.txt
以上是“Sqoop1如何导入导出”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。