Sqoop 2提供的Sqoop 1没有提供什么?

时间:2016-12-30 00:15:32

标签: hadoop sqoop cloudera-cdh

根据sqoop.apache.org,Sqoop 2功能不完整,不应用于生产系统。很公平,有些人可能想在他们的测试环境中测试Sqoop 2的新功能。

Cloudera在Sqoop 1和Sqoop 2(https://www.cloudera.com/documentation/enterprise/5-8-x/topics/cdh_ig_sqoop_vs_sqoop2.html)之间进行了功能比较,但是根据页面,Sqoop 2没有提供Sqoop 1也没有提供的功能。

那么为什么有人会以现有形式使用Sqoop 2?它是否比Sqoop 1提供任何优势?如果没有,为什么可以使用?提前谢谢!

3 个答案:

答案 0 :(得分:9)

快速说明:

根据{{​​3}}(截至2017年11月)

  

注意:Sqoop 2已被弃用。 Cloudera建议使用Sqoop 1。

答案 1 :(得分:3)

Sqoop2稳定版本中预期的一些功能:

  1. 一个易于使用的GUI,它将是现有命令行的附加功能。
  2. 安全修复程序,例如要修复的公开共享密码
  3. 通过更好的日志记录更轻松地进行调试。
  4. 为不遵循JDBC模型的连接器提供支持。
  5. 目前还没有稳定版的sqoop 2可用。但是您可以构建最新的项目来测试产品并承诺打开项目(如果感兴趣的话)。

    参见:

    Sqoop2 proposal

    Features and releases

答案 2 :(得分:2)

Apache Sqoop使用客户端模型,用户需要在客户端上安装Sqoop以及连接器/驱动程序。 Sqoop2使用基于服务的模型,其中连接器/驱动程序安装在Sqoop2服务器上。此外,所有配置都需要在Sqoop2服务器上完成。

从MR的角度来看,另一个区别是Sqoop提交了一个Map only作业,而Sqoop2提交了一个MapReduce作业,其中Mappers将从源传输数据,而Reducers将根据指定的源转换数据。这提供了一个干净的抽象。在Sqoop中,运输和转换都只由Mappers提供。

Sqoop2的另一个主要区别是从安全角度来看。管理员将设置与源和目标的连接,而操作员用户使用已建立的连接,因此操作员用户无需知道有关连接的详细信息。并且操作员只能根据需要访问一些连接器。