Sqoop新品来了
Sqoop尽管稳定的应用于生产环境很多年,但是它自身存在的一些缺陷给实际操作带来了不便。Sqoop2便成为了研究使用的对象,那么Sqoop2有什么优势呢?
首先我们先来了解一下Sqoop的使用情况,使用Sqoop数据不会出现丢失,而且Sqoop功能强大,可以将数据导到HDFS,Hbase,Hive等各种连接器,但Sqoop是纯客户端的体系架构,这样就会带来很多的问题:
(1)客户端需要连接关系型数据库,这就需要每一个客户端都配置一个连接器。客户端越多,那么相应的每个客户端相应的配置也就越多,操作麻烦。
(2)需要用户的用户密码,可是Sqoop在执行操作的过程中,密码会明文的出现,操作不安全。
(3)很难在外部应用中集成命令行借口。
(4)跟JDBC语义紧密结合,无法访问NoSQL数据库
而Sqoop2就是在原有Sqoop基础上增加了Server端,那么我们是不是可以把连接器统一配置到Server端,是不是可以把连接数据库的配置项统一维护起来,是不是可以把用户的密码统一的保存起来?当然,Sqoop2可以很好地解决这些问题。Sqoop2的优势:
(1) 客户端只需要连接到Sqoop服务器
(2) 管理员配置好DB连接
(3) 最终用户不再需要处理数据库认证
(4) 集中审计跟踪
(5) 更好的资源管理
(6) 可以通过CLI,REST API和Web UI访问Sqoop服务
可是目前Sqoop2还在开发当中,它的方向是好的,但是它的一些功能和特性还没有出现在我们的实际应用中,比如Sqoop的一些功能在Sqoop2里面还不能够使用,像导数据到Hbase就不能使用,尽管Sqoop2跟Sqoop没有完全相等的特性,但是它已实现的特性被认为是稳定的。那么在实际使用中,Sqoop和Sqoop2如何选择使用呢?优先推荐使用Sqoop2,除非缺失某些特性再去选择使用Sqoop。
这就是我对于sqoop2的一些认知和理解,但是sqoop2毕竟还不是一款成熟的产品,也期待我们大家可以一起交流共享。我自平时喜欢关注微信公众号“大数据cn”“大数据时代学习中心”,里面有很多经典介绍,对于汲取各方面知识来讲还不错。大家在平时的自我提升中,也要多交流沟通,对于改善自己的知识架构来说也有着重要的促进意义。