gpt4 book ai didi

hadoop - 在Hadoop环境中,谁在HDFS中创建数据拆分?

转载 作者:行者123 更新时间:2023-12-02 21:35:51 24 4
gpt4 key购买 nike

我有一个大数据问题(排序),我想使用Hadoop解决。简而言之,我们有一项工作或任务涉及读取具有十亿多条记录的巨大文件,逐行解析文件,进行一些清理并将清理后的数据写入另一个文件。我们希望有数百个此类工作正在不断创建,提交和运行。每个作业都处理自己的文件,因此我们不必担心并发问题。

我从很高的层次上了解了如何使用Hadoop来实现这一目标。但是我无法理解的是,谁的工作是将这个巨大的文件拆分为多个片段,这些片段将存储在数据节点中。我下面的理解正确吗?

JOB:
Client (has the big input file) ->
Splits the file into chunks (how do I know split size??) ->
Asks Name Node where to store data (how will the name node know how\where to allocate?)->
Name Node responds with Data Node Information ->
Client copies (using Hadoop FS) the split data to appropriate DataNodes ->
Client submits Job (gives all the relavant info, map/reduce)->
JobTracker schedules\runs it ->
DataNodes run map\reduce tasks ->

输出文件在DataNodes中创建
合并所有输出文件以供客户使用(这是谁做的?)

任何帮助\评论将不胜感激

谢谢
y

最佳答案

在数据存储和mapreduce的整个过程中创建了两种类型的块。
1)当您向客户提交文件要求其进行存储时,文件将文件分成若干块(Hadoop v2中的默认大小为128 MB,Hadoop v1中的默认大小为64 MB)。然后,客户端要求namenode提供必须在其上存储数据的datanode。名称节点根据数据节点的可用性以及客户端到数据节点的网络距离来提供这些详细信息。
2)提交要在该文件上运行的作业时,该文件分为逻辑输入拆分。创建的输入拆分的数量等于映射器的数量。此拆分大小不固定。它有所不同或取决于逻辑。

在hadoop v2中,没有jobtracker或task tracker的概念。当客户提交作业时,yarn控制作业的执行。

http://www.dummies.com/how-to/content/input-splits-in-hadoops-mapreduce.html

这可以帮助您了解什么是输入拆分。

关于hadoop - 在Hadoop环境中,谁在HDFS中创建数据拆分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32384835/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com