hadoop mapreduce的用途

yebdmbv4  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(340)

目前我正在阅读一些关于hadoop和流行的mapreduce算法的文章。但是,我看不出mapreduce的价值,如果有人能提供一些见解,我会很高兴的。明确地:
据说mapreduce接收一个文件并生成键值对。什么是钥匙?只是一个词,一个词的组合还是别的什么?如果关键字是文件中的单词,那么为mapreduce编写代码的目的是什么?mapreduce应该在不实现特定算法的情况下做同样的事情。
如果所有东西都转换成键值对,那么hadoop所做的就是创建一个类似java和c的字典,wright?也许hadoop可以更有效地创建字典。除了hadoop提供的普通dictionary对象所不能提供的效率之外?
把一个文件转换成键值对能挣多少钱?我知道我能找到单词的数量和频率,但是为什么呢?数数字数的目的是什么?
据说hadoop可以用于非结构化数据。如果所有的东西都转换成一个键值对,那么hadoop就可以处理非结构化数据了!我可以用c语言编写一个程序来生成键值对,而不用hadoop。什么是hadoop的真正价值,我不能利用其他类型的编程工具?
这些问题似乎是相互关联的,但我相信,我给出了我的问题的想法。如果你能回答上述问题,我将很高兴。
当做,
编辑:
嗨,伙计们,
非常感谢您的回复。我从你的作品和hadoop游戏中了解到的,我想用一种非常高级的基本方式来陈述我的结论:
hadoop通过键值对处理数据。所有内容都转换为键值对。
主要的兴趣应该放在键和值的定义上,它们可能会根据业务需要而改变。
hadoop只提供了一个字典的高效实现(例如,分布式的、可扩展的系统和大量的数据处理),仅此而已。
欢迎对这些成果发表任何评论。
最后,我想补充一点,对于一个简单的map reduce实现,我认为应该有一个用户界面,允许用户选择/定义键和适当的值。此用户界面还可以扩展以进行进一步的统计分析。
当做,

llmtgqce

llmtgqce1#

It is said that MapReduce receives a file and produces key value pairs. What is a key? Just a word, a combination of words or something

还有别的吗?如果关键字是文件中的单词,那么为mapreduce编写代码的目的是什么?mapreduce应该在不实现特定算法的情况下做同样的事情。
mapreduce应该可视化为分布式计算框架。例如,word count的关键字是word,但是我们可以将任何东西作为关键字(有些api可用,我们也可以编写自定义api)。使用密钥的目的是对已排序的数据进行分区、排序和合并,以执行聚合。map阶段将用于执行行级转换、过滤等,reduce阶段将负责聚合。map和reduce需要实现,然后shuffle阶段通常是开箱即用的,它将负责分区、shuffling、排序和合并。

If everything is converted to key value pairs then what Hadoop does is just creating a Dictionary like in JAVA and C#, wright? May be

hadoop可以更有效地创建字典。除了hadoop提供的普通dictionary对象所不能提供的效率之外?
作为上一个问题的一部分。

What do I earn by converting a file to key value pairs? I know I can find the counts and frequencies of the words, but for what? What

可能是为了数字数?
您可以执行转换、筛选、聚合、联接以及任何可以在非结构化数据上执行的自定义任务。主要的区别是分布的。因此,它可以比任何遗留解决方案更好地扩展。

It is said that Hadoop can be used for unstructured data. If everything is converted to a key value pair, then it so normal that

hadoop可以处理非结构化数据!我可以用c语言编写一个程序来生成键值对,而不用hadoop。什么是hadoop的真正价值,我不能利用其他类型的编程工具?
键可以是行偏移量,然后可以处理每条记录。不管每个记录的结构是相同的还是不同的。
以下是使用hadoop的优点:
分布式文件系统(hdfs)
分布式处理框架(map-reduce)
数据位置(通常在现代应用程序中,文件将被网络挂载,因此比代码大的数据必须被复制到部署代码的服务器上。在hadoop中,代码指向数据,hadoop的所有成功案例都不使用网络文件系统)
在存储和处理非常大的数据集时对网络的使用有限
成本效益(商品硬件上的开源软件)等等。

esyap4oy

esyap4oy2#

举一个单词计数的例子来加深理解。
什么是钥匙?只是一个词,一个词的组合还是别的什么?
对于Map器:
关键是 offset value 从文件的开头。价值是 entire line . 一旦从文件中读取了该行,该行将被拆分为多个键值对以供使用。分隔符(如制表符或空格)或字符(如:)有助于将行拆分为键值对。
对于减速器:
关键是个人 word . 价值是 occurrence 一句话。
一旦在reducer中获得了键值对,就可以运行许多数据聚合/污名化/分类,并提供数据的分析摘要。
看看这篇涉及金融、能源、电信、零售等领域的用例文章。
为了更好地理解整个单词计数示例和map reduce教程,请阅读本文。
为mapreduce编写代码的目的是什么?mapreduce应该在不实现特定算法的情况下做同样的事情。
hadoop有四个关键组件。 1. Hadoop Common :支持其他hadoop模块的公共实用程序。 2. Hadoop Distributed File System (HDFS™) :提供对应用程序数据的高吞吐量访问的分布式文件系统。 3. Hadoop YARN :作业调度和群集资源管理的框架。 4. Hadoop MapReduce: 基于Yarn的大数据集并行处理系统。
也许hadoop可以更有效地创建字典。除了hadoop提供的普通dictionary对象所不能提供的效率之外?
创建词典不是核心目的。hadoop正在创建这个字典,并在以后根据需求使用这些键值对来解决业务用例。
单词计数示例可以提供单词和单词计数输出。但是您可以为各种用例处理结构化/半结构化和非结构化数据
找出整个宇宙中某个地方一年/月/日/小时中最热的一天。
找出特定股票在纽约证券交易所某一天的买卖交易数量。提供每只股票每分钟/每小时/每天的交易摘要。找出某一天交易量最大的10只股票
查找特定标记键的tweets/re tweets数
数数字数的目的是什么?
在前面的回答中解释了目的。
我可以用c语言编写一个程序来生成键值对,而不用hadoop。什么是hadoop的真正价值,我不能利用其他类型的编程工具?
通过编写c#来获取键值对和处理数据,可以处理多少数据量?使用c#和用c#开发的分布式存储/处理框架,您能在5000节点集群中处理10peta字节的天气信息吗?
您如何总结数据或使用c#查找前10个最酷/最热门的地方?
您必须开发一些框架来完成所有这些事情,hadoop已经提出了这个框架。 HDFS 用于以PB字节为单位的数据量的分布式存储。如果您需要处理数据增长,只需向hadoop集群添加更多节点。 Hadoop Map reduce & YARN 提供分布式数据处理框架,处理hadoop集群中数千台机器上存储的数据。
图片来源:kickstarthadoop(文章作者: Bejoy KS )

相关问题