Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Heroku 如何廉价地处理大量数据(本地设置或云)?_Heroku_Nlp_Cloud_Scaling_Bigdata - Fatal编程技术网

Heroku 如何廉价地处理大量数据(本地设置或云)?

Heroku 如何廉价地处理大量数据(本地设置或云)?,heroku,nlp,cloud,scaling,bigdata,Heroku,Nlp,Cloud,Scaling,Bigdata,我想尝试针对web和其他语料库的转储(有时大于4TB)测试NLP工具 如果我在mac上运行它,速度会非常慢。加快这一进程的最佳方式是什么 部署到EC2/Heroku并扩展服务器 购买硬件并创建本地设置 只是想知道这通常是如何完成的(在几分钟/秒的时间内处理TB),在云中进行实验是否更便宜/更好,或者我需要自己的硬件设置吗?我想这很大程度上取决于你想做什么样的实验,目的和时间 如果您打算购买硬件并运行自己的集群,那么您可能需要Hadoop或Storm之类的工具来管理计算节点。我不知道在几秒钟内

我想尝试针对web和其他语料库的转储(有时大于4TB)测试NLP工具

如果我在mac上运行它,速度会非常慢。加快这一进程的最佳方式是什么

  • 部署到EC2/Heroku并扩展服务器
  • 购买硬件并创建本地设置

只是想知道这通常是如何完成的(在几分钟/秒的时间内处理TB),在云中进行实验是否更便宜/更好,或者我需要自己的硬件设置吗?

我想这很大程度上取决于你想做什么样的实验,目的和时间

如果您打算购买硬件并运行自己的集群,那么您可能需要Hadoop或Storm之类的工具来管理计算节点。我不知道在几秒钟内处理4TB的数据有多可行,但这实际上取决于您想要进行的处理类型。计算4TB语料库中单词的频率应该很容易(甚至是你的mac),但构建支持向量机或做一些类似LDA的事情并不容易。您将遇到的一个问题是,您没有足够的内存来容纳所有这些内容,因此您需要一个可以在磁盘上运行这些方法的库

如果您不确切知道自己的需求是什么,那么我将使用EC2设置一个测试平台,以更好地了解您想要做什么,以及需要在所需时间内完成多少grunt/内存

我们最近购买了两个计算节点,每个节点有128个核心,256Gb内存和几TB的磁盘空间,我想大概是2万英镑左右。这些是AMD interlagos机器。也就是说,计算集群已经有了infiniband存储,所以我们只需连接到infiniband存储,只需购买两个计算节点,而不是整个基础设施

这里要做的显而易见的事情是从一个更小的数据集开始,比如说几GB。这将让你在mac上开始,你可以试验数据和不同的方法,了解哪些有效,哪些无效,然后将管道移动到云端,并使用更多数据运行它。如果你不想用一个样本开始实验,你总是可以从整个语料库的不同部分采集多个样本,只需将样本大小控制在你自己的工作站上即可开始

另外,我强烈推荐GitHub上的机器学习项目。它是用Python编写的,但大多数矩阵操作都是在Fortran或C库中完成的,因此速度非常快。开发者社区也非常积极地参与这个项目。另一个可能更容易接近(取决于您的专业水平)的好库是。如果你不熟悉把所有东西都当作矩阵来思考的话,它远没有那么快,但是更有意义

更新

有一件事我忘了提及,那就是你的项目将运行的时间。或者换一种说法,你的专业硬件能使用多久。如果这是一个在未来10年为欧盟议会服务的项目,那么你肯定应该购买硬件。如果这是一个让你熟悉NLP的项目,那么分钱可能有点多余,除非你也计划开始自己的云计算租赁服务:)


也就是说,我不知道使用EC2的实际成本是多少。我从来没有使用过它们。

无论您的云是什么品牌,云计算的整个理念都是能够以灵活的方式进行放大和缩小

在企业环境中,您可能会遇到这样一种情况,即您始终需要相同数量的计算资源,因此,如果您已经拥有了这些资源,那么使用云是相当困难的,因为您不需要提供的灵活性

另一方面,如果您的处理任务不太可预测,那么最好的解决方案是云,因为当您使用更多的计算能力时,您可以支付更多的费用,而当您不需要那么多的计算能力时,您可以支付更少的费用

但要考虑到,并非所有云解决方案都是相同的,例如,Web角色是高度Web专用的节点,其主要目的是服务Web请求,服务的请求越多,支付的费用就越多

而在虚拟角色中,几乎就像你被赋予了一个计算机系统的排他性,你可以用它来做任何你想要的事情,无论是linux还是windows操作系统,即使你没有在最好的状态下使用它,系统也会继续运行


总的来说,成本取决于您自己的场景以及它是否适合您的需求

我想我应该补充一点,我也在我的电脑上运行潘多拉(有时还有netflix),这会占用很多内存。超级有用的注释!谢谢你的链接,看起来很有用。我不明白网络角色/虚拟角色的相关性。这适用于网络托管,而不适用于云计算服务,在云计算服务中,您需要为您使用的内容付费。感谢我在评论中的改进:)。。。我想说明的是,当您在Windows Azure中选择一种角色类型时所面临的困境。例如,您可以选择使用WebRole,它主要是一个安装了IIS的节点,但您不能使用文件系统,而当您有新安装且可用于所有目的时,您可以选择使用其他角色,如虚拟角色。当然,两者的成本不同。这对你有意义吗?