我正在探索Azure Data Lake,我是这个领域的新手。我探索了很多东西并阅读了很多文章。基本上我必须从不同来源的数据开发Power BI仪表板。
在经典SQL Server堆栈中,我可以编写ETL(提取,转换,加载)过程,以将数据从我的系统数据库带入数据仓库数据库。然后使用SSAS等将该数据仓库与Power BI一起使用。
但我想使用Azure Data Lake,我探索了Azure Data Lake Store和Azure Data Lake Analytic(U-SQL)。我画了以下架构图。
1&2)目前ADLS仅允许PowerBI直接在其上进行查询。如果您的数据太大(我相信大于10GB),那么PowerBI无法直接处理您的ADLS帐户中的数据。在这种情况下,我建议将ADLS中处理过的数据移动到SQL数据库或SQL数据仓库,因为这样可以让PowerBI在大量数据上运行。您可以使用Azure Data Factory移动数据,如果将数据移动到SQL DW,则可以使用Polybase。
3)数据湖仍然与数据仓库不同,它们各有优缺点。数据湖最适合存储原始或略微处理的数据,这些数据可能具有各种格式和模式。使用Azure Data Lake Analytics处理和过滤此数据后,您可以将该数据移动到SQL DW中以进行交互式分析和数据管理(但代价是模式不灵活)。
4)取决于您的用例。如果您打算继续在ADLS中处理数据,我建议您输出到ADLS表以获得更好的性能。但是,如果您需要将此数据传递到其他服务,则CSV是一个不错的选择。您可以在我们的GitHub上找到更多输出器,例如JSON和XML。
这个答案可能不太及时,但我尝试过的与您之前的经验更相似的是启动Azure Analysis Service的实例。您可以创建表格模型或mdx模型,将大量数据存储到内存中并从power bi连接到它。 “唯一”的问题是它可以快速获得价格。 AAS的一个好处是构建表格模型的界面几乎遵循电源查询并使用dax。
另外我相信这些天adla商店基本上都支持直接使用blob存储,所以基本上你要去数据 - > blob - > dla - > aas - > pbi。