摘要:
External Source InputPattern Description这种模式不从hdfs加载数据,而是从hadoop以外系统,例如RDB或web service加载。Intent想要从非MapReduce框架的系统并行加载数据。Motivation使用MapReduce分析数据通常的做法... 阅读全文
摘要:
CHAPTER 7.Input and Output Patterns本章关注一个最经常忽略的问题,来改进MapReduce 的value:自定义输入和输出。我们并不会总使用Mapreduce本身的方式加载或存储数据。有时,可以跳过在hdfs存储数据这项耗时的阶段,仅存储一些数据,不是全部的,或直接... 阅读全文
摘要:
Chain Folding这是对job 链的一种优化。基本上是一种大体规则:每条记录都会提交给多个mapper,或者给reducer然后给mapper。这种综合处理方法会节省很多读文件和传输数据的时间。多个job的结构通常这样处理是可行的,因为map阶段是完全无共享的:看起来每条记录是单独的,数据的... 阅读全文
摘要:
Chapter 6. Metapatterns这种模式不是解决某个问题的,而是处理模式的关系的。可以理解为“模式的模式”。首先讨论的是job链,把几个模式联合起来解决复杂的,有多个阶段要处理的问题。第二个是job 合并,用相同的MapReduce job执行多个分析的优化,达到一箭多雕的目的。Job... 阅读全文
摘要:
Replicated JoinPattern Description复制join是一种特殊的join,用于一个大数据和许多小数据集map端执行的情况。Intent这种模式能够消除reduce阶段的shuffle。Motivation复制join非常有用,除了一个大数据集外,对其它要join的数据集有... 阅读全文
摘要:
Chapter 5. Join Patterns把数据保存成一个巨大的数据集不是很常见。例如,用户信息数据频繁更新,所以要保存到关系数据库中。于此同时,web日志以恒定的数据流量增加,直接写到HDFS。这些日志的日常分析过的数据保存在hdfs的某个地方,财务数据存储在加密的仓库中。还有很多例子。。。... 阅读全文
摘要:
BinningPattern Description分箱模式,跟前面的类似,分类记录且不考虑记录的顺序。Intent归档数据集中的每条记录到一个或多个类别。Motivation分箱和分区很相似,可以用来解决相同的问题。不同点是如何用MapReduce框架建立箱或分区。有些情况下,一种比另一种好用。分... 阅读全文
摘要:
Chapter 4. Data Organization Patterns与前面章节的过滤器相比,本章是关于数据重组。个别记录的价值通常靠分区,分片,排序成倍增加。特别是在分布式系统中,因为这能提高性能。在很多组织结构方面,Hadoop和其它MapReduce使用案例仅仅是大数据分析平台上一片数据的... 阅读全文
摘要:
Top TenPattern DescriptionTop ten模式跟前面的有很大的不同,跟输入数据大小无关,最终得到的记录数量是确定的。而在通用filtering中,输出的规模取决于输入数据。Intent根据数据集的排名,获取相对较小的前K条记录,不管数据量多大。Motivation在数据分析中... 阅读全文
摘要:
Chapter 3. Filtering Patterns本章的模式有一个共同点:不会改变原来的记录。这种模式是找到一个数据的子集,或者更小,例如取前十条,或者很大,例如结果去重。这种过滤器模式跟前面章节的不同是,从更小的粒度认识数据,例如特殊用户生成的记录,或文本中用得最多的前10个动词。简单的说... 阅读全文
摘要:
Inverted Index SummarizationsPattern Description反向索引模式在MapReduce分析中经常作为一个例子。我们将会讨论我们要创建的term跟标识符之间映射的一般情况。Intent根据数据集生成索引,用于快速搜索或数据的富集能力。Motivation根据关... 阅读全文
摘要:
Median and standard deviation中值和标准差的计算比前面的例子复杂一点。因为这种运算是非关联的,它们不是那么容易的能从combiner中获益。中值是将数据集一分为两等份的数值类型,一份比中值大,一部分比中值小。这需要数据集按顺序完成清洗。数据必须是排序的,但存在一定障碍,因... 阅读全文
摘要:
CHAPTER 2 .Summarization Patterns随着每天都有更多的数据加载进系统,数据量变得很庞大。这一章专注于对你的数据顶层的,概括性意见的设计模式,从而使你能扩展思路,但可能对局部数据是不适用的。概括性的分析都是关于对相似数据的分组和执行统计运算,创建索引,或仅仅为了计数。通过... 阅读全文
摘要:
翻译的是这本书:Chapter 1.Design Patterns and MapReduceMapReduce 是一种运行于成百上千台机器上的处理数据的框架,目前被google,Hadoop等多家公司或社区广泛使用。这种计算框架是非常强大,但它没有提供一个处理所谓“big data”的通用,普遍... 阅读全文