千家信息网

Sqoop1如何导入导出

发表于:2024-09-28 作者:千家信息网编辑
千家信息网最后更新 2024年09月28日,这篇文章主要介绍Sqoop1如何导入导出,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!》Sqoop1 和 Sqoop2 的区别Sqoop1 由 Client 端直接接入 Had
千家信息网最后更新 2024年09月28日Sqoop1如何导入导出

这篇文章主要介绍Sqoop1如何导入导出,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!


》Sqoop1 和 Sqoop2 的区别

Sqoop1 由 Client 端直接接入 Hadoop,任务通过解析生成对应的 MR 执行

Sqoop1 仅有一个客户端,架构简单明了,部署即用,使用门槛比较低,但是耦合性强,用户密码暴露不安全

Sqoop2 服务端部署,运行,提供 Cli、rest api、webui 等入口,Connector 集中管理,RDBMS控制账户更安全,但是 Sqoop2 仅负责数据的读写操作,架构相对复杂

》Sqoop1导入(MySQL 导入到 HDFS)

注意:首先要启动MySQL、ZK、Hadoop

# demo1:table

# sqoop1 导入命令 mysql=>hdfsbin/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

# demo2:query

# 导入数据# --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

# demo3:将sqoop脚本封装在文件中

# 新建一个文件;(一行一个,使用#注释);文件名随便写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如何导入导出"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

0