大数据开发之传输组件Sqoop的功能介绍

01 Sqoop介绍

Sqoop是Apache开源的一款工具,主要是针对关系型数据库与Hadoop集群之间的数据传输。它可以将关系型数据库中的数据导入至Hadoop集群中(即:导入至Hdfs)。也大数据培训可以将Hadoop集群(HDFS)中数据导出至关系型数据库中。Sqoop就是一款ETL工具,它具有高效和大批量数据传输的特性。同时原生Sqoop都是采用指令形式提交和触发任务。小伙伴们是不是有淡淡的忧伤,又是指令的方式操作。所以学好指令也很重要哦。

02 Sqoop功能介绍

sqoop本身也包含一系列的功能

通过指令查看包含的功能:sqoop help (提示:sqoop help command,用功能指令名称替换command, 就能查看详细功能说明。例如:sqoop help import,即可了解 import的详细使用方法)

  • 1、sqoop import指令

将关系型数据库单表导入hadoop集群的hdfs中。在导入过程中可自动创建集群接收表,可处理空数据问题等等。

  • 2、sqoop import-all-tables指令

将关系型数据库中,整库中所有表导入hadoop集群。在导入过程中所有表必须有主键,只能导入所有表的所有列,所有表不能有where条件。

  • 3、sqoop export指令

将hadoop集群数据导出至关系型数据库中。在导入和导出过程中可设置并发导出,但是不宜太大,有时数据库无法承受。

  • 4、sqoop job指令

job指令可以为确认好的导入或导出指令创建一个别名。再次运行时,通过sqoop job指令运行别名即可。省略了大段的指令代码。

  • 5、sqoop metastore指令

可以将本地的sqoop job任务,作为共享任务。远程机器可以通过 sqoop job --meat-connect 连接到开启共享的任务并执行,实现远程调用。

  • 6、sqoop list-databases指令

可查看连接下所有的数据库列表。方便确认连接源。

  • 7、sqoop list-tables指令

可查看连接下,所有表的列表。

  • 8、sqoop eval指令

能够通过 eval进行数据查询或者其它DML操作。可进一步确认数据源的正确性。

  • 9、sqoop merge指令

可对已导入集群的同一表的不同数据块进行合并。确保数据为最新记录。大多情况下数据合并没有使用到sqoop的这个功能。基本都是数据开发的小伙伴自己写Sql搞定了。

转自数据在此

おすすめ

転載: juejin.im/post/7039945765749260319