美文网首页
2.9sqoop控制并行

2.9sqoop控制并行

作者: NEO_X | 来源:发表于2019-05-31 14:18 被阅读0次

Apache Sqoop Cookbook 英文版-翻译学习!!
更多信息https://blue-shadow.top/

2.9控制并行

问题

默认情况下, Sqoop 使用四个并发映射任务将数据传输到 Hadoop。传输较大的表时使用更多的并发任务这样应该可以减少传输所需的时间。
当想要灵活的改变map任务数量要先对每个人物的基础信息了解。

解决方案

使用 --num-mappers 参数在想要使用一个非默认数量的maper。举例来说,使用10个并行任务,使用以下的sqoop命令:

sqoop import \
--connect jdbc:mysql://mysql.example.com/sqoop \
--username sqoop \
--password sqoop \
--table cities \
--num-mappers 10

讨论

参数--nun-mappers作为一个提示服务。在绝大多数情况下,你设置一个特地数量的mappers数量,当并不能保证实际就使用这个值。
如果你的数据集合很小,sqoop还是会使用很小的mappers数。如,如果你传输一个只有四行数据的数据集,但是你的--num-mappers数设置为10个,
那么仍然只有4个mapper被使用,由于另外6个mappers没有任何数据要传输。
控制sqoop传输数据的并行数是控制数据载入数据库的负载的主要点,使用更多的mapper数,会导致更高数量的并行数量传输任务,这样可以让作业更快的完成。
然而,这也会增加数据库的负荷,由于sqoop将会执行更多的查询,这也许会对其他的查询造成影响,不利的是会对生产环境的造成影响
提升mapper的数量并不总会提高任务的完成速度。然而,提高mapper数量,是让数据库性能饱和的关键点。提高mapper数量超出饱和点将导致不能更快的处理作业。
实际上相反,数据库将会花更多时间在上下文切换上,对mapper数量的优化上取决于很多变量。需要考虑数据库的类型,使用的硬件,及数据需要服务的其他请求。

没有针对所有场景的最佳的mapper数,相反,是鼓励通过尝试发现环境中最佳并行数。从一个很小的mapper数开始慢慢增长,而不是从一个很大的数开始是一个很好的方法。

相关文章

  • 2.9sqoop控制并行

    Apache Sqoop Cookbook 英文版-翻译学习!!更多信息https://blue-shadow.t...

  • 《深入理解并行编程》整理笔记

    目录 1.并发编程的目标 2.并行访问控制 - 是什么使并行编程变得复杂? 3.关于硬件 - 对并行编程造成的障碍...

  • dispatch_barrier_async

    使用实例 控制台输出 dispatch_barrier_async 作用是在并行队列中,等待前面的操作并行操作完成...

  • 常用的GCD记录一下

    子线程并行 串行 主线程 串行队列 子线程 并行队列 子线程 栅栏函数 控制执行顺序 避免数据竞争 多线...

  • 2019-02-09

    控制器 SED1565 串行并行数据传输均可KS0108 并行数据传输 DDRAM:...

  • Airflow 有关task并行度的问题

    有三个参数可以用来控制airflow运行的并行度 parallelism :这是用来控制每个airflow wor...

  • Plasticine: 面向并行模式的可重配架构

    本文基于对并行模式的分层架构、数据局部性和控制流的抽象,提出了Plasticine架构,从而为并行模式计算提供更好...

  • Spark Core 性能调优之设置并行度

    操作场景 并行度控制任务的数量,影响shuffle操作后数据被切分成的块数。调整并行度让任务的数量和每个任...

  • Go语言学习五:异步、同步、锁

    一 、异步、同步控制 在Go中并行与并发是有区别的,详细请参考Go 并发 、并行、线程池, 通过信道的方式来实现同...

  • 9.21总结

    知识归纳: 1.总线接口【并行总线、串行总线】 2.并行总线数据传输:数据线、地址线、控制线、时钟线。 3.串行:...

网友评论

      本文标题:2.9sqoop控制并行

      本文链接:https://www.haomeiwen.com/subject/jxgwtctx.html