代码之家  ›  专栏  ›  技术社区  ›  noobie

Power BI处理16GB csv

  •  1
  • noobie  · 技术社区  · 6 年前

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

    使用这种大小的数据集时,最佳方法/做法是什么?在SQL Server中导入csv,然后在将数据集筛选为日期范围时使用直接查询,我会获得更好的性能吗?我本以为它在我当前的设置下运行得相当快,因为我在那个虚拟机上有64GB的可用内存。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Andrey Nikolov user3098458    6 年前

    当数据量很大时,您还需要适当的计算能力来处理它。当你 进口 在power bi中,power bi本身需要这种计算能力。如果导入SQL Server(或Analysis Services或其他)中的数据,并且使用直接查询或实时连接,则可以将计算委托给数据库引擎。通过实时连接,您的所有建模都在数据库引擎上完成,而在直接查询建模中,也在POWER BI中完成,您可以添加计算列和度量值。所以,如果您直接查询,您仍然必须小心在哪里计算。

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

    因此,为了达成最终的决定,您必须测试这些解决方案,考虑定价和硬件需求,并根据这些需求,决定哪种方案最适合您的案例。

    最近,微软 demo with 1 trillion 数据行。你可能想看看。我也建议你看看 aggregations 这可以帮助您提高模型的性能。