1:Sqoop的import命令
-
数据从mysql中导入到hdfs当中
bin/sqoop import --connect jdbc:mysql://192.168.50.183:3306/sq --username root --password root --table user --target-dir /sqoop/datas --delete-tar get-dir --num-mappers 1 --fields-terminated-by “\t” -
数据mysql中导入到hdfs当中进行筛选
bin/sqoop import --connect jdbc:mysql://192.168.50.183:3306/sq --username root --password root --target-dir /sqoop/selectdemo --delete-target-dir --num-mappers 1 --fields-terminated-by “\t” --query ‘select * from user where id<=1 and $CONDITIONS’
-
通过where筛选
bin/sqoop import --connect jdbc:mysql://192.168.50.183:3306/sq --username root --password root --target-dir /sqoop/selectdemo2 --delete-target-dir --num-mappers 1 --fields-terminated-by “\t” --table user --where “id<=1”
-
mysql导入到hive
需要先创建hive表
bin/sqoop import --connect jdbc:mysql://hd09-01:3306/sq --username root --password root --table user1 --num-mappers 1 --hive-import --fields-terminated-by “\t” --hive-overwrite --hive-table user_sqoop
问题:hiveconf
解决:
vi ~/.bash_profile
export HADOOP_CLASSPATH=$HADOOP_CLASSPASS:/root/hd/hive/lib/*
mysql权限问题:
grant all privileges on . to root@’%’ identified by “password”;
flush privileges;
2:Sqoop的export命令
-
需求:Hive/hdfs的数据导出到mysql
-
编写sqoop启动命令
bin/sqoop export --connect jdbc:mysql://hd09-01:3306/sq --username root --password root --table user1 --num-mappers 1 --export-dir /user/hive/warehouse/user_sqoop --input-fields-terminated-by “\t”
3:Sqoop打包脚本的使用
-
创建文件夹
mkdir sqoopjob
-
创建文件脚本
vi sqoop_job.opt
export --connect jdbc:mysql://hd09-01:3306/sq–username root --password root
–table user1 --num-mappers 1 -
-export-dir /user/hive/warehouse/user_sqoop
–input-fields-terminated-by "\t
注意:一行命令 一行值
-
执行脚本文件
bin/sqoop --options-file /root/sqoopjob/job_hdfs2mysql.opt
4:Sqoop的常用命令
| 命令 | 说明 |
|---|---|
| import | 将数据导入到集群 |
| export | 将集群数据导出 |
| codegen | 将某数据库中表生成javaBean并打包为jar |
| eval | 查看sql执行结果 |
| createhivetable | 创建hive表 |
| importalltables | 导入某个数据库中所有表到hdfs中 |
| listtables | 列出某个数据库下的所有表 |
| merge | 将hdfs中不同目录下的数据合并在一起 |
| version V | 查看sqoop版本 |
| help | 查看帮助信息 |
5:Sqoop常用参数
| 参数 | 说明 |
|---|---|
| -connect | 连接关系型数据库URL |
| –connectionmanager | 指定连接管理类 |
| –driver | JDBC的driver class |
| –username | 连接数据库的用户名 |
| –password | 连接数据库的密码 |
| –verbose | 在控制台中打印详细信息 |
| –help | 查看帮助 |
| –hiveimport | 将关系型数据库导入到hive表中 |
| –hiveoverwrite | 覆盖掉hive表中已存在的数据 |
| –createhivetable | –createhivetable |
| –hivetable | 接入hive表 |
| –table | 指定关系型数据库的表名 |
本文介绍如何使用Sqoop工具实现MySQL与Hadoop之间的数据迁移,包括数据导入导出、脚本化操作及常见命令参数等内容。
974

被折叠的 条评论
为什么被折叠?



