Hadoop 如何执行输入拆分?

2024-01-04

这是一个涉及Hadoop/HDFS的概念问题。假设您有一个包含 10 亿行的文件。为了简单起见,让我们考虑每行的形式<k,v>其中 k 是该行距开头的偏移量,value 是该行的内容。

现在,当我们说我们想要运行 N 个映射任务时,框架是否将输入文件拆分为 N 个分区并在该分区上运行每个映射任务?或者我们是否必须编写一个分区函数来执行 N 个分割并在生成的分割上运行每个映射任务?

我想知道的是,分割是在内部完成还是我们必须手动分割数据?

更具体地说,每次调用 map() 函数时,它的值是什么?Key key and Value val参数?

谢谢, 迪帕克


The InputFormat负责提供分割。

一般来说,如果有n个节点,HDFS会将文件分发到所有这n个节点上。如果启动一个作业,默认会有n个映射器。感谢 Hadoop,机器上的映射器将处理存储在该节点上的部分数据。我想这就是所谓的Rack awareness.

长话短说:将数据上传到HDFS并启动MR作业。 Hadoop 将关心优化执行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hadoop 如何执行输入拆分? 的相关文章

随机推荐

  • 从 ui 中删除 QComboBox 中的项目

    我正在尝试调整 QComboBox 的 ui 以便用户可以从下拉列表中删除项目 无需先选择它们 背景是我正在使用 QComboBox 来指示当前打开的是哪个数据文件 我还使用它作为最近打开的文件的缓存 我希望用户能够删除他不想再列出的条目
  • Backbone.js 中的 PATCH 请求方法

    正确的执行方式是什么PATCH在 Backbone js 中保存模型属性时请求 从 Backbone js v0 9 9 开始 您可以简单地通过 patch true to save 阅读更多 http backbonejs org cha
  • C++ 函数成员指针

    我已经阅读了几篇关于此的文章 但似乎无法通过示例代码准确找到我正在寻找的内容 如果有人能给我一些帮助 我将非常感激 在我的标题中我有 void addEvent void func Pack void triggerEvents Pack
  • 将小数格式化为正确的区域性信息中的字符串

    将小数金额格式化为字符串以便 UI 以正确的区域性信息显示的最佳方法是什么 向 ToString 添加格式 myDecimal ToString 00 or myDecimal ToString C 对于可为空的小数 decimal 您将需
  • 为什么 CMake 找不到 GTest(Google 测试)?

    有一个现成的项目 在其中一个 cmake 文件中有一个源代码 find package GTest REQUIRED if NOT GTest FOUND message FATAL ERROR Cannot find Google Tes
  • CKAN可以支持Solr 7.0吗?

    我正在尝试在 Ubuntu 16 04 中安装 Solr 7 0 和 CKAN 2 7 2 但是 我得到了以下内容errors 来自 Solr 管理网站 ckan org apache solr common SolrException o
  • 查找图中的最长路径

    我一直在努力找出复杂网络中最长的路径 我在 StackOverflow 和 Internet 上遇到了很多问题 但没有一个可以帮助我 我写了一个 CQL 作为 start n node match p n LinkTo 1 gt m wit
  • Lucene SpanNearQuery 中“Slop”的确切含义(或 ElasticSearch span_near 中的 slop)

    问题一 问题一
  • 如何判断 CSS 背景图像何时加载?事件被触发了吗? [复制]

    这个问题在这里已经有答案了 我有一个带有图像背景的侧边栏小部件 上面是一个搜索输入表单 我不希望在图像加载之前显示输入 有没有办法附加一个load像普通 img 元素 对象一样 CSS 背景图像的事件处理程序 我知道这可以在普通图像上完成
  • 嵌套循环和字符串连接的性能问题

    有人可以解释一下为什么这段代码需要这么长时间才能运行 即 gt 24 小时 行数为 5000 列数为 2000 即大约 10m 循环 有一个更好的方法吗 for int i 0 i lt m rows i for int j 0 j lt
  • 使用 Akka Stream 传输巨大的 json

    我有一个 json 板的巨大 http 响应问题 其中只有部分是感兴趣的 我无法更改响应结构 这是一个例子 searchString search redirectUrl 0 numRecords 123 refinementViewMod
  • 由多个用户编辑数据库记录

    我设计了数据库表 标准化 在 MS SQL 服务器上 并为应用程序创建了一个独立的 Windows 前端 少数用户将使用该前端来添加和编辑信息 我们将添加一个网络界面 以便稍后在我们的生产区域进行搜索 我担心如果两个用户开始编辑同一条记录
  • 速度模板 - 新线

    我一直在使用 Apache 的 Velocity 引擎和自定义模板 问题是 我无法生成具有相应换行符的字符串 我几乎尝试了我发现的所有内容 例如使用 esc n 和 esc newline 我已经在我的项目中使用转义工具 但似乎我当前使用的
  • 如何在 C++ 中实现对私有基类的强制转换

    如何在 C 中实现对私有基类的强制转换 我不想使用黑客 例如添加朋友等 定义公共转换运算符不起作用 EDIT 例如我有 class A base class class AX private A a child class AY priva
  • PHP变量插值与串联[重复]

    这个问题在这里已经有答案了 以下两种方法 性能 可读性等 有什么区别 您更喜欢哪一种 echo Welcome name s vs echo Welcome name 无论什么对你最有效 都有效 但如果你想追求速度 请使用以下命令 echo
  • 魔术方法(__get,__set)在扩展类中不起作用? [复制]

    这个问题在这里已经有答案了
  • chrome.downloads.download 无法从后台服务人员工作

    我正在尝试创建一个 Chrome 扩展 当单击工具栏按钮时 它将对页面内容进行一些分析 然后将结果保存 即下载 到用户的计算机上 单击按钮时我可以进行分析 但无法触发下载 这是我第一次编写 Chrome 扩展程序 因此任何帮助解决它不起作用
  • Xcode 7:断点停止时崩溃

    我有一个非常烦人的问题 当 Xcode 7 尝试进行符号化时 几乎在每个断点处都会崩溃 我已经做了几件事 包括删除 Xcode 并重新安装它 我在以前的 Xcode 6 X 上也遇到了同样的问题 有什么线索吗 我想知道我是否应该从头开始重新
  • Electron:如何捕获主进程的所有请求响应?

    我想从主进程中获取电子应用程序中发生的所有请求的响应 此图显示我想要获得的响应位于 响应 选项卡 而不是 Chrome 开发工具上的 标头 选项卡 https i stack imgur com AYA1G png 我没有使用
  • Hadoop 如何执行输入拆分?

    这是一个涉及Hadoop HDFS的概念问题 假设您有一个包含 10 亿行的文件 为了简单起见 让我们考虑每行的形式