Hadoop put 性能 - 大文件(20GB)

2024-02-14

我正在使用 hdfs -put 将一个 20GB 的大文件加载到 hdfs 中。目前该过程运行@ 4 分钟。我正在尝试缩短将数据加载到 hdfs 的写入时间。我尝试利用不同的块大小来提高写入速度,但得到以下结果:

512M blocksize = 4mins;
256M blocksize = 4mins;
128M blocksize = 4mins;
64M blocksize = 4mins;

有谁知道瓶颈可能是什么以及我可以探索的其他选项来提高 -put cmd 的性能?


20GB / 4 分钟大约为 85MB/秒。考虑到 HDFS 协议和网络的所有开销,单个驱动器的吞吐量是相当合理的。我敢打赌这就是你的瓶颈。如果不改变您的摄取流程,您将无法神奇地加快速度。

核心问题是 20GB 是相当大的数据量,并且这些数据作为单个流推送到 HDFS 中。你受到磁盘 I/O 的限制,考虑到 Hadoop 集群中有大量磁盘,这是相当蹩脚的。你需要一段时间才能使 10GigE 网络(也可能是 1GigE)饱和。

正如您所看到的,更改块大小不应改变此行为。从磁盘到 HDFS 的数据量仍然相同。

我建议你将文件分割成1GB文件并将它们分布在多个磁盘上,然后使用-put在平行下。如果网络成为瓶颈,您甚至可能需要考虑将这些文件拆分到多个节点上。您能否改变接收数据的方式以加快速度?显然,分割文件并移动它也需要时间。

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

Hadoop put 性能 - 大文件(20GB) 的相关文章

随机推荐

  • MYSQL 中按字段排序

    我正在努力解决这个问题 我有一张这样的桌子 type COUNT A 1 C 5 B 4 我想查询表 结果一定是这样的 type COUNT A 1 B 5
  • 内联 C 清漆 (VCL_deliver)

    我使用的是清漆4 0 我的后端正在向一些响应添加 http 标头 x count 我想将 x count 的值记录到带有换行符的文件中 我认为我应该在 VCL 交付中进行 这是我到目前为止所拥有的 sub vcl deliver if re
  • CMake 链接到外部库

    如何让 CMake 将可执行文件链接到不在同一 CMake 项目中构建的外部共享库 只是在做target link libraries GLBall CMAKE BINARY DIR res mylib so 给出错误 make 2 No
  • 将按钮右对齐

    我使用此代码来右对齐按钮 p align right p
  • 确定在 mousedown 事件期间是否按下 Shift 键

    是否可以确定在 mousedown d3 event 期间是否按下了 Shift 键 如果可能的话可以告诉我一种方法来做到这一点 尝试查看API 但找不到有用的东西 你应该能够使用这样的东西 d3 select window on clic
  • CreateService 出现错误:ERROR_INVALID_ADDRESS (0x000001e7)

    请帮我解决这个问题 我在这段代码中创建了一个基本服务 include stdafx h PWSTR pszServiceName PWSTR pszDisplayName DWORD dwStartType PWSTR pszDepende
  • 函数的 return 语句中的 \n 打印 \n 而不是 python 中的换行符

    考虑下面的 python 代码 我对 python 很陌生 请帮我解决这个问题 这个函数返回 n56 但是我需要 新队 56 def fun ret num return n str num if name main a fun ret 5
  • jQuery 使用变量隐藏/显示 div

    我对 jQuery 很菜鸟 我想在 jQuery 中使用变量来隐藏 显示 div 到目前为止我所拥有的是 document ready function listMenu a click function var getPage this
  • 我何时/为什么(如果有的话)应该考虑进行通用编程/元编程

    恕我直言 哎呀 设计模式很有意义 我已经能够实际应用它们 但当谈到 通用编程 元编程 对于现代 C 类型 我很困惑 这是一种新的编程 设计范式吗 仅限于 库开发 吗 如果不是 什么设计 编码情况需要使用元编程 通用编程 使用模板是否意味着我
  • 如何通过引用传递变量?

    我写这个类是为了测试 class PassByReference def init self self variable Original self change self variable print self variable def
  • (交叉编译)平台文件是否需要包含保护?

    我正在为 VxWorks 编写交叉编译工具链文件 由于它是一个未知的系统 cmake a 也有写入平台文件 那些在 Modules Platform 在我的旁边工具链到目前为止我已经编写了这些平台文件 VxWorks cmake VxWor
  • 文本转换:大写;也影响占位符

    我有以下简单的输入
  • TypeScript 接口,其中对象键是另一个对象的值

    这是我的界面 interface MyInterface a string b string I have objectA从这个界面 const objectA MyInterface a val1 b val2 然后 我有一个函数可以读取
  • Python Tkinter 如何使用网格为窗口着色

    我正在尝试 Tkinter 并使用网格编写一个小窗口 代码如下 from Tkinter import from modules logic import game import options class StartWindow def
  • 删除温莎城堡 3 中的组件

    我正在温莎城堡中使用 TypedFactoryFacility 来允许我使用接口工厂依赖项注入 当不需要这些组件时 应该为 Null 我在自动委托工厂将 Func 注入自动解析的组件时遇到问题 我想保留 TypedFactoryFacili
  • 如何返回 mongodb 中更新的对象数量?

    我正在更新 mongodb 中的多个元素 是否可以返回受影响对象的数量 使用 getLastError 这nkey 将包含更新文档的数量 gt db count update x 1 inc x 1 false true gt db run
  • 如何为班级中的所有测试设置测试类别

    我在用MSTest https en wikipedia org wiki MSTest 并且我想一次为测试类中的所有方法设置相同的测试类别 而不需要单独为每个方法设置 TestCategory 属性 如何才能做到这一点 最方便 最明显的方
  • 如何将 UIColor 转换为十六进制字符串?

    我有一个项目 需要将 UIColor 的 RGBA 值作为 8 个字符的十六进制字符串存储在数据库中 例如 UIColor blueColor 将为 0000FFFF 我知道我可以像这样获取组件值 CGFloat r g b a color
  • Facebook 广告 API - 批量请求定位搜索

    问题 我在提交 Facebook Ads API 的批量请求时遇到问题 我想知道是否有人可以提供有关以下错误的见解 我尝试获取艺术家列表 在这个简化示例中仅列出 50 名 然后针对这些艺术家提交 TargetingSearch 请求 但是
  • Hadoop put 性能 - 大文件(20GB)

    我正在使用 hdfs put 将一个 20GB 的大文件加载到 hdfs 中 目前该过程运行 4 分钟 我正在尝试缩短将数据加载到 hdfs 的写入时间 我尝试利用不同的块大小来提高写入速度 但得到以下结果 512M blocksize 4