Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/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
RAM内存使用和管理:R与Power BI。为什么Power Bi在同一台计算机上处理大型数据集似乎比R更好?_R_Powerbi_Ram - Fatal编程技术网

RAM内存使用和管理:R与Power BI。为什么Power Bi在同一台计算机上处理大型数据集似乎比R更好?

RAM内存使用和管理:R与Power BI。为什么Power Bi在同一台计算机上处理大型数据集似乎比R更好?,r,powerbi,ram,R,Powerbi,Ram,这更多的是一个与硬件相关的问题。在我的公司,我们与R(用于数据分析)和Power BI(用于数据可视化)一起工作。我们在R中有一个资产构建,用于执行特定于领域的计算,并在PowerBI中显示输出,其中包含一些或多或少复杂的图形和计算字段 我们最近不得不用PC(HP 830 G5-i58250U-8Gb RAM)处理2Gb/700万条记录的数据集。R在我们使用上述数据集进行计算时超时,而Power BI能够相对轻松地处理它 我知道R主动使用RAM内存作为对象的临时存储,这可能是个问题。但为什么它不

这更多的是一个与硬件相关的问题。在我的公司,我们与R(用于数据分析)和Power BI(用于数据可视化)一起工作。我们在R中有一个资产构建,用于执行特定于领域的计算,并在PowerBI中显示输出,其中包含一些或多或少复杂的图形和计算字段

我们最近不得不用PC(HP 830 G5-i58250U-8Gb RAM)处理2Gb/700万条记录的数据集。R在我们使用上述数据集进行计算时超时,而Power BI能够相对轻松地处理它

我知道R主动使用RAM内存作为对象的临时存储,这可能是个问题。但为什么它不是Power BI的问题呢?我问这个问题的原因是想弄清楚,在我们所有的笔记本电脑中购买/安装更多的RAM是否是一个好的解决方案。我们需要R和Power BI才能使我们的资产正常工作


多谢各位

任何数量的RAM都无法弥补高效代码的不足。在软件问题上使用硬件最初可能会有所帮助,但扩展性不如好的代码。在不了解您的特定用例的情况下,我能给出的最佳建议是使用更高效的库,如
data.table
,或中突出显示的其他高效解决方案之一

<>你也应该考虑使用一个以上的内核来工作。Power BI可能会自动对此进行修改,但在R中,您必须显式地声明这一点


对于小于10GB的文件,R应该没有问题。但是,10 GB以上需要一些变通方法,如本文所述。

如果不了解更多细节,就无法回答此问题。我的第一个猜测是R端的编程效率低下。2gb的数据集应该很容易用这台电脑处理。第一个建议:如果您正在进行任何繁重的数据操作,请查看data.table而不是任何tidyverse软件包。Java堆化和垃圾收集也可能是您应该寻找的术语,但是如果没有更多的专门术语,这将非常困难。谢谢您的回复。假设数据集更大,例如10Gb。如果生成的对象大小超过可用RAM,则编程效率无关紧要,它将超时。对吗?另一种解决方案是重做所有代码,以位为单位分析数据(即减小对象大小),但考虑到所需的工作量,这不是一个理想的解决方案。那么,为什么PowerBI桌面能够很好地处理任何大小的文件呢?如何在我们的PC中使用RAM?Power BI使用一个名为veritpaq的内存压缩引擎,它压缩行和列上的数据,并分为存储和计算部分,这可以解释RAM使用的一些效率