gpt4 book ai didi

parallel-processing - 如何及时处理 TB 级数据

转载 作者:行者123 更新时间:2023-12-01 13:53:56 25 4
gpt4 key购买 nike

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .

8年前关闭。




Improve this question




免责声明

我是一家小商店的系统管理员。

情况

我将收到大约 3 TB 的数据,其中每个逻辑单元由

包含以下内容的目录:

  • CSV 格式的文本文件,包含元数据
  • 包含实际数据的二进制文件

  • 所以最后我有一个巨大的目录树,里面有很多小文件。

    我的工作是将元数据文件从 CSV 转换为 XML。我通常求助于 Perl 来处理这个问题。新创建的 XML 文件将连同相应的二进制数据一起复制到一个新目录中,该目录将由闭源软件包的导入程序进程读取。此导入过程本质上是串行的。它只是在另一个目录之后读取并处理它。越快越好。

    过去,我只运行了几个 Perl 转换脚本和导入过程的实例,以实现某种程度的并行化。现在随着这 3 TB 的到来,我怀疑这是否会很好地扩展。

    硬件方面,我有 6 台物理机器可供我使用,我可以在这些机器上启动有限数量的轻量级 VM(具体来说是 Solaris 区域)。我说“数量有限”是因为这些机器已经运行带有服务的虚拟机。

    最后一个限制:由于数据的敏感性,使用任何类型的云服务都是不可能的。

    问题

    我怎样才能聪明地解决这个问题?有专门的解决方案吗?我开始研究 Hadoop,尽管我仍然需要了解它如何帮助解决我的问题。

    我可以在 Perl 格式化脚本中构建线程,并且可以运行它的多个实例来处理目录树的不同部分。这部分我已经完全控制了。

    我无法控制的部分是软件包的导入器 - 我仅限于创建其他实例并观察它们。

    任何有关如何解决此问题的建议将不胜感激。

    最佳答案

  • 估计导入器处理元数据和二进制文件的时间。
  • 识别瓶颈(占用大部分处理时间) - 进口商?
  • 复制/倍增瓶颈资源(进口商) - 通过虚拟机?
  • 编写一个脚本(Controler)来控制每个VM的进程和脚本(Worker)。 Controller 将解析元数据(如果需要,并行)并将下一部分工作发送给 worker (通过小型配置文件或 TCP/IP 协议(protocol))。
  • 或者您可以使用没有控制脚本的分布式方法,但这将更难以实现。

  • 我认为 Hadoop 将是矫枉过正。

    关于parallel-processing - 如何及时处理 TB 级数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20121919/

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