首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是-- sqoop中的直接模式?

问什么是-- sqoop中的直接模式?
EN

Stack Overflow用户
提问于 2016-08-26 00:32:16
回答 5查看 19.8K关注 0票数 7

根据我的理解,sqoop用于将表/数据从数据库导入或导出到HDFS、Hive或HBASE。

我们可以直接导入单个表或表的列表。在内部,mapreduce程序(我想只有map任务)会运行。

我的疑问是什么是sqoop direct,什么时候使用sqoop direct选项?

EN

回答 5

Stack Overflow用户

发布于 2016-08-26 01:00:38

只要阅读Sqoop文档就可以了!

  • 一般原则位于here for imports和there for exports

中

某些数据库可以使用特定于数据库的数据移动工具(...)以更高性能的方式执行导入

某些数据库还为导出提供了直接模式(...)

有关直接模式与每个特定RDBMS的使用、安装要求、可用选项和限制的详细信息,请参见第25节

Oracle data connector for Hadoop

  • etc.

下的MySQL

  • Section 25下的
  • 第25节

底线:对于不同的数据库,“直接模式”意味着不同的东西。

对于MySQL或PostgreSQL,它涉及批量加载/卸载实用程序(即完全绕过JDBC);而对于Oracle,它涉及“直接路径插入”,即使用JDBC,但处于非事务模式(因此最好使用临时表,否则可能会在PK和损坏的表中出现重复项)。

票数 6
EN

Stack Overflow用户

发布于 2016-11-26 21:35:24

简而言之,这是一种不运行任何映射器或缩减程序的快速导入模式。

代码语言:javascript
复制
sqoop import --connect jdbc:mysql://db.foo.com/corp --table EMPLOYEES --direct

备注:

  1. --direct仅在mysql中受支持,而postgresql.
  2. Sqoop’s直接模式不支持导入BLOB、CLOB或LONGVARBINARY列。
票数 3
EN

Stack Overflow用户

发布于 2019-08-27 18:51:34

来自Managing Big Data in Clusters and Cloud Storage

默认情况下,Sqoop使用JDBC连接数据库。但是,根据数据库的不同,可能有更快的、特定于数据库的连接器可用,您可以通过使用--direct option来使用该连接器。

因此,当您希望使用不同于默认数据库连接器的数据库连接器时,可以使用--选项。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39150465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档