Hadoop:两个函数搞定了海量数据计算的框架

在使用一个工具之前,还是要对它有个基本的了解。避免用起来蒙逼哈哈。

Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构,它解決了两大问题:大数据存储、大数据分析。也就是 Hadoop 的两大核心:HDFS 和 MapReduce。

HDFS(Hadoop Distributed File System)是可扩展、容错、高性能的分布式文件系统,异步复制,一次写入多次读取,主要负责存储。

MapReduce 为分布式计算框架,包含map(映射)和 reduce(归约)过程,负责在 HDFS 上进行计算(用于大规模数据集(大于1TB)的并行运算)。

一、扒扒MapReduce:啥是map 啥是reduce

map和reduce其实就是面向函数式编程模式里的2个代表性函数。

map( f(x), list ) :把函数f(x)作用在list array[]上,输出一个新的list。
例如,把一个list所有数字转为字符串:

        >>> map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9])
        ['1', '2', '3', '4', '5', '6', '7', '8', '9']

reduce(f(x),list):把函数f(x)作用在list array[]上,然后把结果继续和list的下一个元素做累计计算,类似于递归。
例如对一个队列求和:

        >>> def add(x, y):
        ...     return x + y
        >>> reduce(add, [1, 3, 5, 7, 9])
        25

这两个函数思想应用到大数据计算领域。MapReduce 的本质就是把一组键值对 <K1,V1> 经过 Map 阶段映射成新的键值对 <K2,V2>;接着经过 Shuffle/Sort 阶段进行排序和“洗牌”,把键值对排序,同时把相同的键的值整合;最后经过 Reduce 阶段,把整合后的键值对组进行逻辑处理,输出到新的键值对 <K3,V3>。
详细介绍也可以参考https://www.cnblogs.com/binarylei/p/8903601.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海棠花败

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值