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 | 指定关系型数据库的表名 |