是否有任何方法可以在Azure Synapse Analystics中执行SQL查询,而无需以编程方式创建管道

j0pj023g  于 2023-01-18  发布在  其他
关注(0)|答案(1)|浏览(96)

我们的数据存储在Blob存储中,并且我们正在使用Azure Synape Analytics查询数据。这与Azure UI界面配合良好。我们正在尝试通过REST API以编程方式执行此操作。找到此链接,其中讨论了REST支持:https://learn.microsoft.com/en-us/rest/api/synapse/data-plane/sql-script,但找不到REST / SDK支持来执行这些SQL查询。
我是第一次使用Azure Synapse和Azure服务,因此非常感谢您提供的任何建议。
https://learn.microsoft.com/en-us/rest/api/synapse/data-plane/sql-script

nc1teljy

nc1teljy1#

这与从rest API获取内容有关,也与执行脚本有关,因为我们需要在管道中运行脚本活动。如果我们想在Synapse分析中运行SQL脚本,我们可以选择不使用管道的SQL池。我们可以导入我们想在synapse分析中开发时执行的脚本。图片供参考:

如果我们想创建新的脚本,我们可以使用新的SQL脚本选项,这是在上面的图片创建。
如果我们想从blob存储中检索数据,我们可以在专用SQL池或无服务器池中创建永久表。无服务器池内置于synapse analytics中。我们可以在管理-〉SQL池中创建专用SQL池。

我们需要创建外部表来从blob存储中检索数据,为此我们需要创建外部数据源和外部文件系统。外部数据源:

与使用脚本自动创建的外部数据源相关的脚本。

CREATE  EXTERNAL  DATA  SOURCE [ExternalDataSource] WITH

(

LOCATION = 'https://<STORAGEACCOUNT>.blob.core.windows.net/<CONTAINER>'

)

参考图片:

之后,我们需要使用以下程序创建外部文件格式:

这里还有关于自动创建文件格式的脚本。

CREATE  EXTERNAL  FILE  FORMAT [ExternalFileFormat] WITH

(

FORMAT_TYPE = DELIMITEDTEXT

)

参考图片:

我们需要使用上述数据源和文件格式创建外部表。

自动创建的脚本需要在脚本中输入值:

CREATE  EXTERNAL  TABLE [dbo].[ExternalTable]

(

[Id] INT

)

WITH

(

LOCATION = '/folder/file',

DATA_SOURCE = [DataSource1],

FILE_FORMAT = [FileFormat1]

)

在这里,你可以使用synapse sql池访问blob存储中的数据,而不需要使用synapse管道,你还可以查询那些表。

相关问题