sqoop

3. Sqoop

3.1环境

在以上环境完成以后如果要对关系型数据库进行交互,那么需要Sqoop。以上安装的是组件服务组件中检查一下是不是有Sqoop或者Sqoop2。这个是与关系型数据库交互的服务组件。如果没有。按照下图进行增加。推荐使用Sqoop,这个属于客户端类型,上手比较简单。

 

选中Sqoop Client组件,进行安装。角色推荐放在主节点(hbasehive所在的机器)

3.2支持

连接mysql需要相应的包,包名mysql-connector-java-5.1.26-bin.jar可以去下载或者下载更新的。

推荐放在主节点的/opt/cloudera/parcels/CDH-5.4.3-1.cdh5.4.3.p0.6/lib/hadoop/  红色部分是CDH版本不同可能数字会有点不一样。

3.3Sqoop连接mysql

示例:

sqoop list-databases --connect jdbc:mysql://172.20.2.105:p/ --username root --password p

 

 sqoop list-tables --connect jdbc:mysql://172.20.2.105:p/mysql --username root --password P

红色部分是变量,根据实际情况自己填写。

3.4 mysql导入hive

先创建表结构

sqoop create-hive-table --connect jdbc:mysql://172.20.2.105:p/test --table yyy --username root --password P --hive-table yyy

红色部分是变量,根据实际情况自己填写。

 

再导数据

sqoop import --connect jdbc:mysql://172.20.2.105:p/test --username root --password P --table yyy --hive-import

mysql的表必须有主键,才能导入。

 

3.5 hive导入mysql

sqoop export --connect jdbc:mysql://172.20.2.105:p/test --username root --password P --table zzz --export-dir /user/hive/warehouse/yyy --input-fields-terminated-by '\0001'

红色部分是变量,根据实际情况自己填写。

导出路径的地址用命令:hadoop fs -lsr /  进行查看。 

导入之前mysql中的表结构也要建立起来才能导入成功。

请使用浏览器的分享功能分享到微信等