1. Hadoop、Hive、MySQL安装(略) 2. 下载sqoop http://www.apache.org/dyn/closer.lua/sqoop/1.4.6 3. 解压 tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 4. 建立软连接 ln -s sqoop-1.4.6.bin__hadoop-2.0.4-alpha sqoop 5. 加执行文件路径 export PATH=$PATH:/home/grid/sqoop/bin 6. 把MySQL java连接器的jar文件拷贝到sqoop的lib目录下 cp mysql-connector-java-5.1.38-bin.jar /home/grid/sqoop/lib/ 7. 测试 (1)列出mysql数据库中的所有数据库 sqoop list-databases --connect jdbc:mysql://192.168.56.104:3306?useSSL=false --username root --password 123456 (2)连接mysql并列出数据库中的表 sqoop list-tables --connect jdbc:mysql://192.168.56.104:3306/test?useSSL=false --username root --password 123456 (3)将MySQL的test.t1表结构复制到Hive的test库中,表名为mysql_t1 sqoop create-hive-table --connect jdbc:mysql://192.168.56.104:3306/test?useSSL=false --table t1 --username root --password 123456 --hive-table test.mysql_t1 注:该命令可以多次执行不报错 (4)将mysql表的数据导入到hive中 # 追加数据 sqoop import --connect jdbc:mysql://192.168.56.104:3306/test?useSSL=false --username root --password 123456 --table t1 --hive-import --hive-table test.mysql_t1 # 覆盖数据 sqoop import --connect jdbc:mysql://192.168.56.104:3306/test?useSSL=false --username root --password 123456 --table t1 --hive-import --hive-overwrite --hive-table test.mysql_t1 注:如果MySQL中的表没有主键 ,则需要加--autoreset-to-one-mapper参数 (5)将hive表的数据导入到mysql中 sqoop export --connect jdbc:mysql://192.168.56.104:3306/test?useSSL=false --username root --password 123456 --table t2 --export-dir /user/hive/warehouse/test.db/mysql_t1 参考: http://sqoop.apache.org/docs/1.4.6/SqoopUserGuide.html http://blog.csdn.net/jiedushi/article/details/6663177
利用sqoop将hive和mysql数据互导简单实验
2022-05-07 12:52:08
浏览数 (1)