【问题标题】:Oracle R Enterprise (ORE) KMeans PackageOracle R Enterprise (ORE) KMeans 包
【发布时间】:2012-05-31 20:33:13
【问题描述】:

我的任务是在 SAS 服务器上运行 K-Means 聚类算法,但内存不足。数据集是 500G,我知道我可以对其进行采样以适应内存,但如果我想在整个数据上运行模型,Oracle R Enterprise (ORE) 会帮助解决我的问题吗?

有关ORE和ORCH的其他相关问题:

  1. Oracle R 软件包是否包含任何聚类算法?是否有可用的 Oracle R 软件包列表?
  2. 如果我在 Oracle R Enterprise 中运行 kmeans 算法(R CRAN 包),我是否也会遇到内存问题?
  3. BDA 中是否有任何可用的 R 集群包,可用于在分布式 Hadoop 集群上运行?

谢谢

【问题讨论】:

  • 无需支付甲骨文。我会以每核 10,000 美元的超低价来做!
  • 作为旁注,请查看 Thomas Jungblut 关于在纯 Hadoop 中实现 k-means 的帖子 - codingwiththomas.blogspot.com/2011/05/…
  • 等等 Chris,这不是 500G 的生产用途,这会更糟。请采用 Mahout 实现。

标签: oracle r hadoop


【解决方案1】:

最好的办法是在 Hadoop 上使用 Mahout。 Mahout 确实支持 K-Means 集群,如 here 所述,并且在 Hadoop 上设置 Mahout 非常容易。

如果您可以使用几台机器构建自己的 Hadoop 集群,则运行 Mahout 将需要 30 分钟左右。当我几天前尝试过this blog 时,给了我极大的帮助。

您也可以这样做并节省大量金钱和时间。

我没有谈到使用 Oracle R,只是因为,首先我对 Oracle R 了解不多,但我知道 Mahout on Hadoop 会比其他任何工具更好地帮助你,因为有很多有关如何在短时间内完成的资源。如果您真的在寻找 Oracle R,那么这不是答案,否则它肯定会。

【讨论】:

  • 感谢 Avkash 的建议,我将在等待 Oracle R 答案的同时在 AWS 上尝试 Mahout KMeans。
【解决方案2】:

我几天前才开始使用 ORE,所以我还不是专家,但很容易看出它具有 K-means 功能。请参阅 ORE 1.3 文档 here 并搜索 ore.odmKMeans 函数。我已经检查过了,它在那里。所以第一个问题的答案是肯定的——ORE 中有一个 K-means 函数。

关于你关于内存问题的第二个问题。要使用 ORE,您需要有一个 Oracle 数据库 - 更好的是 Exadata Oracle 机器(这些通常有大约 1Tb 内存),并且许多 ORE R 函数被实现为在数据库级别作为 SQL 运行,因此它在数据库上运行并使用与将数据加载到 R 的内存相比,内存更少,甚至那些不使用 SQL 下推但使用更常规的 R 方法的函数使用数据库机器的内存,它通常比任何 R 机器拥有更多的内存。老实说我还没有看过 ORE K-means 的实现,所以我不知道这个函数是什么情况。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-03
    • 2021-07-18
    • 2018-07-31
    • 1970-01-01
    • 1970-01-01
    • 2013-04-29
    • 2013-02-23
    • 2018-04-17
    相关资源
    最近更新 更多