整套大数据学习资料(视频+笔记)百度网盘无门槛下载:http://www.edu360.cn/news/content?id=3377

15.5.3. 直接模式导入

hadoop 花牛 14℃ 0评论

Sqoop的架构支持它在多种可用的导入方法中进行选择,而多数数据库都使用上述基于DataDrivenDBInputFormat的方法。一些数据库提供了能够快速抽取数据的特定工具,例如MySQLmysqldump能够以大于JDBC的吞吐率从表中读取数据。在Sqoop的文档中将这种使用外部工具的方法称为“直接模式”(direct mode)。由于直接模式并不像JDBC方法那样通用,(例如,MySQL的直接模式不能处理大对象数据——类型为CLOB或 BLOB的列,Sqoop需要使用JDBC专用的API将这些列载入HDFS。)所以使用直接模式导入时必须由用户明确地启动(通过direct参数)

对于那些提供了此类特定工具的数据库,Sqoop使用这些工具能够得到很好的效果。采用直接模式从MySQL中导入数据通常比基于JDBC的导入更加高效(map任务和所需时间而言)Sqoop仍然并行启动多个map任务,接着这些任务将分别创建mysqldump程序的实例并且读取它们的运行结果,其效果类似于使用Maatkit(http://www.maatkit.org/)工具集中 tnk-parallel- dump的分布式实现。Sqoop也支持采用直接模式从PostgreSQL中导入数据。

即使是用直接模式来访问数掲库的内容,元数据的查询仍然是通过JDBC 来实现的。

转载请注明:全栈大数据 » 15.5.3. 直接模式导入

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址