一、导入导出基本命令
1、列出mysql数据库中的所有数据库命令
# sqoop list-databases --connect jdbc:mysql://10.X.X.X:3306/ --username root --password 123456
2、连接mysql并列出数据库中的表命令
# sqoop list-tables --connect jdbc:mysql://10.X.X.X/test --username root --password 123456
命令中的test为mysql数据库中的test数据库名称 username password分别为mysql数据库的用户密码
3、将关系型数据的表结构复制到hive中
sqoop create-hive-table --connect jdbc:mysql://10.X.X.X/test --table username --username root --password 123456 --hive-table test
其中 --table username为mysql中的数据库test中的表 --hive-table test 为hive中新建的表名称
4、从关系数据库导入文件到hive中
sqoop import --connect jdbc:mysql://10.X.X.X/test --username root --password mysql-password --table t1 --hive-import
5、将hive中的表数据导入到mysql中
./sqoop export --connect jdbc:mysql://10.X.X.X/test --username root --password admin --table uv_info --export-dir /user/hive/warehouse/uv/dt=2011-08-03(hive数据表的存储路径)
二、hive数据导入mysql中遇见的问题及解决方法
1、基本环境:使用sqoop必须安装sqoop环境,然后在bin目录下执行,并且确保关系型数据库与hive数据库以及sqoop在一个集群下
2、步骤:查看hive数据表存储路径
2、执行命令
3、遇见的问题
1)
解决办法:指定分区文件,直到路径下不在划分小文件
2)mysql数据库和hive数据表中字段类型不一致,导入任务失败-> 解决办法:只有保证字段类型以及列数一致,才能导入成功