正确使用和准备来自多个来源的数据的方法为BI提供动力



我想确定我计划的工作方式是否正确。

我有两个数据源;MySql &该数据库。我需要组合这些数据源,并公开这些数据供Power BI使用。

我决定在ETL中使用Azure Synapse Analytics,并想了解在这个过程中是否有什么我可以简化或做得更好。

流程如下:

MySql,MSSQL以拼花格式加载到ASA中,存储在Azure Gen 2 Storage中。一旦复制管道完成,后续数据流将合并来自两个源的数据,并将其插入到ASA中的MSSQL存储中。BI从这个工作区/数据源中进行消费。

我不确定我是否应该从数据源存储到Azure Gene 2,或者我应该只是执行转换并从源直接插入到MSSQL存储。如有任何意见或建议,不胜感激。

您所遵循的模式是数据湖模式,其中数据在3个区域之间移动:

  • 丰富
  • 策划

Rawzone保留了转换前数据的原始副本。以这种方式存储数据(此处为拼花文件)的好处是,您可以对转换的问题进行故障排除,或者创建不同的转换来满足新的需求。

Enriched区域是您已经完成一些转换的地方,例如联合您的数据,或提供一些其他清理步骤,可能删除不需要的列,更正地址等。您已经通过将数据插入SQL数据库来完成此操作,但是如果转换足够简单,也可以通过在无服务器池中使用视图来完成此操作:https://learn.microsoft.com/en-us/azure/synapse-analytics/sql/create-use-views

Curated区域是将数据转换为BI应用程序可以很好地使用的形式的地方,即星型模式。即使这是一个非常简单的数据集,也值得合并一个日期维度,这将在Power BI中产生很多好处。这里的底线是Power BI被优化为使用星型模式,所以这就是你应该给它的。

您不需要使用数据湖技术来遵循此模式,并且仍然可以获得好处。至于你所做的是否好,将取决于每件事的表现如何,而不是你能保持它的简单程度。这里有更多关于这个话题的信息:https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/scenarios/cloud-scale-analytics/best-practices/data-lake-overview

一旦复制管道完成,子数据流将合并数据并插入到ASA

中的MSSQL存储中

MSSQL存储的用途是什么?它只被PowerBI用来创建报告吗?如果是,那么你可以使用ADLS gen2,因为它会更便宜,(基本上非常符合上面Mark所说的"curated">

")还有一件事需要考虑,PowerBI可以从两个源读取数据,然后在自己内部进行转换。

最新更新