sqoop vs hdfs命令

时间:2017-01-29 07:59:40

标签: mysql hadoop hdfs sqoop

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

3 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

Sqoop命令适用于:

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

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

hdfs命令适用于:

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

for:

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

回答:

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

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

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

以及

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