作者:帅哥大香蕉 | 来源:互联网 | 2023-08-14 05:13
Sqoop
sqoop是把关系型数据库数据和HDFS互导的工具,以HDFS为中心,导入到HDFS用import,从HDFS导出用export
实例分析
Sqoop数据导入到HDFS
- 查看所有库的命令
sqoop list-databases --connect jdbc:mysql://dt100:3306 -username root -password 123123
- 查看某个库的表的命令
sqoop list-tables --connect jdbc:mysql://dt100:3306/bysj -username root -password 123123
- 导入表到HDFS的脚本及分析
#!/bin/bash
/opt/module/sqoop/bin/sqoop import \
--connect jdbc:mysql://dt100:3306/bysj \
--username root \
--password 123123 \
--table blog \
--columns id,title \
--where "id>&#61;2 and id<&#61;8" \
--target-dir&#61;/test \
--delete-target-dir \
--num-mappers 2\
--split-by id \
--fields-terminated-by &#39;\t&#39;
- 分析
#连接到目标表并选择条件
–connect jdbc:mysql://dt100:3306/bysj
–username root
–password 123123
–table blog
–columns id,title
#出现空格需要加引号&#xff0c;如果有变量则一定是双引号
–where “id>&#61;2 and id<&#61;8”
#目标文件夹
–target-dir&#61;/test
#如果目标文件夹存在则删除
–delete-target-dir
#优化语句&#xff08;设置mapper个数&#xff09;和切分规则&#xff0c;因为sqoop实质上就是一个只有map过程的MR
–num-mappers 2
–split-by id
#设置字段分隔符
–fields-terminated-by ‘\t’
- 结果
blog表
hdfs文件 导入成功
### 后续更新 mysql导入hive