RM服务器的挑战-内存不足

Ramesh_TRamesh_T 成员职位:2贡献我

大家好!

我是一个新手,这是我在社区的第一个帖子。我们有一个RM服务器安装在MS SQL服务器箱的顶部。我们有一个64GB RAM的作业容器。我在工作室环境中使用示例数据构建了一些工作流,并试图在连接到原始SQL数据表的服务器环境进行必要更改后运行这些进程。这些工作流主要涉及一些基本的数据连接和汇总,并应用了一些特定于领域的业务规则。

当我试图运行流时,我很快就遇到了内存不足的问题。我所面临的挑战是,甚至我的流程的第一部分(包括从40GB数据集中读取几个变量)也没有完成。由于所涉及的数据和业务知识的性质,我不能在这里共享XML流或日志文件。

我有几个具体的问题要问大家:

1.RM服务器内部如何处理内存?在处理过程中是否会读取整个源数据文件并将其保存在内存中?

2.一个64GB的容器可以处理的最大数据库大小是多少?

3.对于大型数据处理操作(即接近TB大小的数据),您会推荐RM服务器吗?

谢谢,

拉梅什

sgenzer dbabrauskaite SGolbert

答案

  • David_ADavid_A 管理员、版主、员工、RMResearcher、会员职位:295RM研究
    @Ramesh_T

    如果您尝试将整个40GB的表加载到RapidMiner中,那么您可能会遇到64 GB RAM的内存问题。如果只需要数据集中的几个变量,则可以直接在读数据库操作符,或者如果您有更复杂的ETL工作流,请查看数据库内处理扩展,在RapidMiner市场。

    这样,您就可以将大部分预处理工作负载从RapidMiner转移到数据库。

    最好的
    大卫

    Ramesh_T dbabrauskaite SGolbert
  • sgenzersgenzer 管理员,版主,员工,RapidMiner认证分析师,社区经理,成员,大学教授,PM版主职位:2959年社区经理
    @Ramesh_T-我当然什么都同意@David_A以上已经说过了。如果你正在做基本的ETL,比如在大型DB表上进行连接,那么在数据库中做这些比在RapidMiner中做这些要好得多。在数据库扩展是相当好的,特别是如果你不想/喜欢写SQL。微笑:

    另一个用于这种情况的好工具是来自Old World Computing的Jackhammer扩展中的缓存操作符。他们刚刚发布了一些新的博客文章,展示了如何做到这一点——你可以在这里找到第一部分:https://oldworldcomputing.com/tutorial-introduction-to-caching-functions-of-the-jackhammer-extension-by-old-world-computing/它几乎完全是为您的用例设计的。抄送我@land以防他还有什么要补充的。

    斯科特
    David_A Ramesh_T dbabrauskaite
  • Ramesh_TRamesh_T 成员职位:2贡献我

    @ David_A和@sgenzer

    感谢您抽出时间回复并提供意见。

    我正在使用一个读取数据库操作符与查询拉几个变量。将着眼于InDatabase处理和JackHammer扩展。将保持这个线程更新。

    谢谢,

    拉梅什

    sgenzer
  • SGolbertSGolbert RapidMiner注册分析师、会员职位:344独角兽
    你好,

    @David_A我不知道在数据库处理扩展,它是非常有用的,谢谢!

    @Ramesh_T如果不需要对所有行进行汇总(或者可以从子汇总中重构所有行的汇总,例如对列的平均值),也可以批量获取行。否则,对数据库中的数据进行预处理,然后将RM用于机器学习部分是有意义的。

    问候,
    塞巴斯蒂安。
登录注册置评。