Power BI处理16GB CSV

时间:2019-01-15 01:28:49

标签: sql-server csv powerbi

我有一个已导入Power BI桌面的16GB CSV。我使用的工作站是运行Windows Server 2016(64GB内存)的Azure VM。导入文件需要花费几秒钟的时间,但是,当我尝试将查询编辑器中的数据集过滤到特定的日期范围时,它会花费相当长的时间(它仍在运行,到目前为止大约30分钟)。正在从在VM上创建的ram磁盘读取源文件(16GB csv)。

使用这种大小的数据集时最好的方法/做法是什么?在将数据集过滤到日期范围时,在SQL Server中导入csv然后使用直接查询是否可以获得更好的性能?我以为它可以在当前设置下相当快地运行,因为该VM上有64GB可用内存。

1 个答案:

答案 0 :(得分:1)

当数据量很大时,您还需要适当的计算能力来处理它。当您在Power BI中导入这些行时,Power BI本身需要这种计算能力。如果在SQL Server(或Analysis Services或其他)中导入数据,并且使用直接查询或实时连接,则可以将计算委派给数据库引擎。使用Live Connection,您的所有建模都在数据库引擎上完成,而在直接查询中,建模也在Power BI中完成,您可以添加计算列和度量。因此,如果您进行直接查询,则仍然必须注意在何处计算出什么。

您要求“最好”,这总是有点含糊。您必须根据许多其他因素自行决定。 Power BI本身就是Analysis Services(运行Power BI Desktop时,您可以看到Microsoft SQL Server Analysis Services子进程正在运行),因此在Power BI中导入数据应具有与在SSAS中导入数据类似的性能。在这种情况下,为了提高性能,您需要调整模型。如果在SQL Server中导入数据,则需要调整数据库(正确的索引编制和建模)。

因此,要做出最终决定,您必须测试这些解决方案,考虑价格和硬件要求,并根据此决定最适合您的情况。

最近,Microsoft制作了demo with 1 trillion行数据。您可能想看看它。我还将建议您看一下aggregations,它可以帮助您改善模型的性能。