【问题标题】:sqoop vs hdfs commandssqoop 与 hdfs 命令
【发布时间】:2017-06-14 14:25:39
【问题描述】:

我是 Sqoop 的新手。据我了解,Sqoop 命令用于将数据从 MySql 等数据库导入 HDF,反之亦然,HDFS 命令用于处理 HDFS 中的数据,例如将数据从 HDFS 获取到本地文件系统,反之亦然。我们不能使用 sqoop 命令来处理 HDFS 中的数据 - 将数据从本地文件系统获取到 hdfs,反之亦然。请让我知道 Sqoop 和 HDFS 命令之间的确切区别。为什么我们有两个不同的东西。为什么他们没有将所有这些命令放在一个集合中。抱歉,如果我的问题没有意义。

【问题讨论】:

    标签: mysql hadoop hdfs sqoop


    【解决方案1】:

    Sqoop 命令有以下用途: 1)从任何数据库导入/导出数据到hdfs/hive/hbase,反之亦然。它不仅限于 hdfs 导入和导出。 2)如果我们需要移动整个数据库/表列表,可以一次性获取数据。 3)通过sqoop命令只能导入增量数据。 4)它还需要连接驱动程序来连接数据库 简而言之,它处理表/数据库。

    hdfs 命令: 1)它仅用于将任何类型(csv、text、xls)的文件从本地传输到 hdfs,反之亦然。它只是提供将数据从一个系统移动或复制到另一个系统的基本功能,就像 unix 命令一样。

    【讨论】:

      【解决方案2】:

      仅 Sqoop 将数据从 RDBMS(结构化)导入和导出到 Hadoop 的功能。它不提供任何其他 HDFS 内部活动。一旦你使用 Sqoop 获取数据到 HDFS,HDFS 命令将用于处理数据(复制、移动等)

      更多 Sqoop 功能http://hortonworks.com/apache/sqoop/

      【讨论】:

        【解决方案3】:

        是的,你的理解是正确的。

        Sqoop 命令用于:

        将数据从任何关系数据库(如 mysql)导入到 HDFS/Hive/Hbase

        将数据从 HDFS/Hive/Hbase 导出到任何关系数据库(如 mysql)

        hdfs 命令用于:

        将任何文件(如 :.txt、.csv、.xls、..etc)从本地复制/传输到 hdfs,反之亦然。

        为:

        为什么我们有两个不同的东西。为什么他们没有将所有这些命令放在一个集合中。

        答案:

        Sqoop 命令 (用于复制结构化数据 b/w 两个不同的系统)

        Hdfs 命令 (用于复制文件 b/w 本地和 hdfs)

        使用 sqoop 我们无法将文件从本地复制到 hdfs,反之亦然

        还有

        使用 hdfs 命令,我们无法将数据从 hdfs 复制到任何其他外部数据库(如 mysql),反之亦然。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-03-04
          • 2011-10-25
          • 1970-01-01
          相关资源
          最近更新 更多