分享

DDIA学习笔记7——chapter10:批处理

 印度阿三17 2020-01-27

DDIA_Chapter10  学习笔记

 

不同类型的系统:

服务:

基于Request和Response的系统。系统接收用户发送的Request,系统对其进行处理后返回一个Response。

批处理系统:

一个批处理系统有大量的输入数据,跑一个Job来处理它,并生成一些输出数据,这往往需要一段时间(从几分钟到几天),所以通常不会有用户等待作业完成。相反,批量作业通常会定期运行(例如,每天一次)。批处理作业的主要性能衡量标准通常是吞吐量(处理特定大小的输入所需的时间)。

流式处理系统:

流处理介于在线和离线(批处理)之间,所以有时候被称为准实时(near-real-time)准在线(nearline)处理。像批处理系统一样,流处理消费输入并产生输出(并不需要响应请求)。但是,流式作业在事件发生后不久就会对事件进行操作,而批处理作业则需等待固定的一组输入数据。这种差异使流处理系统比起批处理系统具有更低的延迟。

MapReduce:

以日志分析为例。MapReduce中的数据处理模式与此示例非常相似:

  1. 读取一组输入文件,并将其分解成记录(records)。在Web服务器日志示例中,每条记录都是日志中的一行(即\n是记录分隔符)。
  2. 调用Mapper函数,从每条输入记录中提取一对键值。在前面的例子中,Mapper函数是awk '{print $7}':它提取URL($7)作为关键字,并将值留空。
  3. 按键排序所有的键值对。在日志的例子中,这由第一个sort命令完成。
  4. 调用Reducer函数遍历排序后的键值对。如果同一个键出现多次,排序使它们在列表中相邻,所以很容易组合这些值而不必在内存中保留很多状态。在前面的例子中,Reducer是由uniq -c命令实现的,该命令使用相同的键来统计相邻记录的数量。

​ 在分布式计算中可以使用标准的Unix工具作为Mapper和Reducer【25】,但更常见的是,它们被实现为传统编程语言的函数。在Hadoop MapReduce中,Mapper和Reducer都是实现特定接口的Java类。在MongoDB和CouchDB中,Mapper和Reducer都是JavaScript函数(参阅“MapReduce查询”)。

Mapper:

​ Mapper会在每条输入记录上调用一次,其工作是从输入记录中提取键值。对于每个输入,它可以生成任意数量的键值对(包括None)。它不会保留从一个输入记录到下一个记录的任何状态,因此每个记录都是独立处理的。

Reducer:

MapReduce框架拉取由Mapper生成的键值对,收集属于同一个键的所有值,并使用在这组值列表上迭代调用Reducer。 Reducer可以产生输出记录(例如相同URL的出现次数)。

​ 在Web服务器日志的例子中,我们在第5步中有第二个sort命令,它按请求数对URL进行排序。在MapReduce中,如果你需要第二个排序阶段,则可以通过编写第二个MapReduce作业并将第一个作业的输出用作第二个作业的输入来实现它。这样看来,Mapper的作用是将数据放入一个适合排序的表单中,并且Reducer的作用是处理已排序的数据。

MapReduce中的数据倾斜:

​ 如果存在与单个键关联的大量数据,则“将具有相同键的所有记录放到相同的位置”这种模式就被破坏了。例如在社交网络中,大多数用户可能会与几百人有连接,但少数名人可能有数百万的追随者。这种不成比例的活动数据库记录被称为关键对象(linchpin object)热键(hot key)

​ 在单个Reducer中收集与某个名流相关的所有活动(例如他们发布内容的回复)可能导致严重的倾斜(也称为热点(hot spot))—— 也就是说,一个Reducer必须比其他Reducer处理更多的记录。由于MapReduce作业只有在所有Mapper和Reducer都完成时才完成,所有后续作业必须等待最慢的Reducer才能启动——hot spot的处理性能成为了整个系统的瓶颈、短板。

方法1:对所有数据进行预处理——对数据进行采样,判断出哪些数据是hot spot。并将热点数据随机hash到若干各Reducer上进行并行处理。

方法2:手动标记哪些数据是hot spot。并相应处理。

 

来源:https://www./content-4-624151.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多