我正在尝试从Azure Synapse中的spark池加载数据(表格中的表格数据,在名为“x”的架构中)。我似乎找不到如何做到这一点。到目前为止,我只将Synapse和我的池链接到ML Studio。我如何做到这一点?
s1ag04yj1#
Lake数据库的内容以Parquet文件的形式存储,并通过Serverless SQL endpoint以External Tables的形式公开,因此从技术上讲,您可以通过端点查询它们。这适用于任何可以连接到SQL的工具或服务,如Power BI、SSMS、Azure机器学习等。
**警告,这里有龙:*由于无服务器引擎为文本查询分配内存的方式,使用此方法可能会导致严重的性能问题, 甚至包括服务中断 *。根据个人经验,不建议使用此方法。我建议您限制对Spark工作负载或SQL池中非常有限的调查使用Lake数据库。幸运的是,有几种方法可以避免这些问题。**方法1:**直接从Lake数据库的存储位置读取。这将位于工作区的根容器(在创建时声明)中,路径结构如下:
这些只是Parquet文件,因此没有关于直接访问它们的特殊规则。
**方法2:**您也可以在无服务器数据库和use the WITH clause to explicitly assign properly sized schemas中的Lake数据库(外部表)上创建视图。同样,您可以完全忽略外部表,并在上述相同的存储上使用OPENROWSET。如果您需要通过SQL端点访问Lake数据库,我建议您使用此方法。
1条答案
按热度按时间s1ag04yj1#
Lake数据库的内容以Parquet文件的形式存储,并通过Serverless SQL endpoint以External Tables的形式公开,因此从技术上讲,您可以通过端点查询它们。这适用于任何可以连接到SQL的工具或服务,如Power BI、SSMS、Azure机器学习等。
**警告,这里有龙:*由于无服务器引擎为文本查询分配内存的方式,使用此方法可能会导致严重的性能问题, 甚至包括服务中断 *。根据个人经验,不建议使用此方法。我建议您限制对Spark工作负载或SQL池中非常有限的调查使用Lake数据库。幸运的是,有几种方法可以避免这些问题。
**方法1:**直接从Lake数据库的存储位置读取。这将位于工作区的根容器(在创建时声明)中,路径结构如下:
这些只是Parquet文件,因此没有关于直接访问它们的特殊规则。
**方法2:**您也可以在无服务器数据库和use the WITH clause to explicitly assign properly sized schemas中的Lake数据库(外部表)上创建视图。同样,您可以完全忽略外部表,并在上述相同的存储上使用OPENROWSET。如果您需要通过SQL端点访问Lake数据库,我建议您使用此方法。