sqoop中的--direct模式是什么?

Raj*_*Raj 7 hadoop sqoop hadoop2 sqoop2

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

而且我们可以直接导入单个表或表列表。内部mapreduce程序(我认为只有map任务)将运行。

我的疑问是什么是直接使用sqoop,什么时候使用直接选择sqoop?

Sam*_*ter 6

只需阅读Sqoop文档!

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


某些数据库提供了直接模式的出口,以及(...)

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

底线:“直接模式” 对于不同的数据库意味着不同的事物
对于MySQL或PostgreSQL,它与批量加载程序/卸载程序实用程序有关(即,完全绕过JDBC)。而对于Oracle,它与“直接路径INSERT”相关,即与JDBC关联,但处于非事务模式(因此,最好使用临时表,否则可能会在PK和损坏的表中出现重复项)


Ron*_*tel 1

--direct - 使用直接导入快速路径

\n\n

通过提供--direct参数,您指定 Sqoop 应尝试直接导入通道。该通道可能比使用 JDBC 具有更高的性能。

\n\n

对于 MySQL:

\n\n

mysqldumpMySQL Direct Connector 允许使用工具功能而不是 SQL 选择和插入更快地导入和导出 MySQL mysqlimport

\n\n

有关每个特定 RDBMS 的直接模式使用、安装要求、可用选项和限制的详细信息,请参阅第 25 节 \xe2\x80\x9c 针对特定连接器\xe2\x80\x9d 的注释。

\n