type
status
date
slug
summary
tags
category
icon
password
节点
有点近,有的远
构造出一个图
进行切割
圆的、方的
聚类算法
正确率很高
图这个方法,生活中使用非常多
总共三个类别
要写成矩阵的形式,计算机才可以看懂
矩阵真的很有用
如何做的
每一个矩阵去除
前后矩阵对应位置去除,做归一化
把图表示出来
1996年发明
有很多网页
希望去找到网页
访问网页
做一个搜索引擎
pagerank最早的核心算法
如何排列出来的呢
不能犯规
把这四个加在一起,为1,竖着看
进行行列式
到后面变化量就很小,基本就收敛了
就是一轮轮去乘它
最基本的概念
防止只进不出
动量更新 会有一个初始的权重
不能通过作弊手段达到目的
迭代很快
矩阵运算
不证明收敛不行,一轮一轮迭代
求和
统计到最终服务器
是一个很复杂的问题
MapReduce
MapReduce是一种用于处理和生成大规模数据集的编程模型,最早由Google提出。该模型通过将计算任务分解为独立的Map和Reduce步骤,能够高效地在分布式系统上执行复杂的数据处理任务。MapReduce在大数据处理领域具有重要地位,并广泛应用于数据分析、搜索引擎、日志处理等场景。以下是对MapReduce的详细介绍:
MapReduce的基本概念
- Map步骤:
- 在Map阶段,输入数据集被分成若干个小块,并由多个Map任务并行处理。每个Map任务处理一个数据块,生成一组键值对(key-value pairs)。这一步骤的核心是将复杂的数据转换为简单的键值对。
- Shuffle和Sort:
- 在Map步骤之后,MapReduce框架会对所有Map任务生成的键值对进行Shuffle(洗牌)和Sort(排序)。Shuffle过程将相同键的键值对分配到同一个Reduce任务中,Sort过程则对这些键值对进行排序,以便于后续的Reduce步骤处理。
- Reduce步骤:
- 在Reduce阶段,所有带有相同键的键值对被分配给一个Reduce任务。Reduce任务对这些键值对进行聚合和处理,生成最终的输出结果。Reduce任务的输出通常是较为精简的数据结果,如统计汇总、聚合计算等。
MapReduce的工作流程
- 输入数据分割:
- 输入数据集被分割成若干个独立的数据块(splits),这些数据块通常存储在分布式文件系统(如HDFS)中。
- Map任务处理:
- 每个Map任务从分布式文件系统中读取一个数据块,执行用户定义的Map函数,生成中间的键值对(key-value pairs)。
- Shuffle和Sort:
- 中间键值对根据键进行Shuffle(将相同键的键值对分配到同一个Reduce任务)和Sort(对键值对进行排序)。
- Reduce任务处理:
- 每个Reduce任务处理一组具有相同键的键值对,执行用户定义的Reduce函数,生成最终的结果。
- 输出结果:
- Reduce任务的结果被写入分布式文件系统中,形成最终的数据输出。
例子:词频统计
以下是一个简单的词频统计示例,通过MapReduce来统计一组文档中每个词出现的频率。
- Map步骤:
- 输入:一组文档。
- Map函数:对每个文档中的每个词生成一个键值对,键为词语,值为1。
- 示例:
- Shuffle和Sort:
- 中间键值对根据键进行Shuffle和Sort,将相同词语的键值对分配到同一个Reduce任务。
- 示例:
- Reduce步骤:
- Reduce函数:对每个词语的值进行累加,生成词频统计结果。
- 示例:
MapReduce的优点
- 可扩展性:
- MapReduce能够在大规模分布式系统上高效运行,可以处理海量数据集。
- 容错性:
- MapReduce框架具有自动容错机制,能够在节点故障时重新执行失败的任务,保证计算任务的可靠性。
- 简化编程模型:
- MapReduce提供了一个简单的编程模型,用户只需定义Map和Reduce函数,框架自动处理分布式计算的复杂性。
MapReduce的局限性
- 性能瓶颈:
- Shuffle和Sort过程可能成为性能瓶颈,特别是在数据量巨大时,会导致大量的网络通信和磁盘I/O。
- 编程限制:
- MapReduce适用于批处理任务,对于实时数据处理和低延迟应用并不适合。
- 迭代计算效率低:
- 由于每个MapReduce作业需要读写分布式文件系统中的数据,迭代计算(如机器学习中的迭代算法)效率较低。
MapReduce的实际应用
- 搜索引擎:用于索引构建、日志分析和数据处理。
- 大数据分析:用于处理海量数据集的统计和分析。
- 日志处理:用于解析和分析服务器日志文件。
- 机器学习:用于大规模数据集的预处理和特征提取。
总结
MapReduce是一种强大的编程模型,通过将数据处理任务分解为Map和Reduce步骤,实现了在大规模分布式系统上高效处理海量数据的能力。尽管存在一些局限性,但MapReduce仍然在大数据处理领域具有广泛的应用和重要地位。
apriori
直接调用库就可以了
只要会用就可以了
直接去调用就可以了
有各种各样的错误 不要重复造轮子
相关算法
- Author:NotionNext
- URL:https://tangly1024.com/article/%E8%B0%B7%E6%AD%8C%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E%E5%A4%A7%E6%8F%AD%E7%A7%98%EF%BC%81Page%20Rank%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F%E5%9B%BE%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E5%A5%A0%E5%9F%BA%E4%B9%8B%E4%BD%9C%EF%BC%81
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!