Azure Synapse中的Openrowset语法问题

问题描述

我正在使用Azure突触查询编辑器来运行以下查询, 这也是Azure文档中提供的示例

SELECT
    nyc.filename() AS [filename],COUNT_BIG(*) AS [rows]
FROM  
    OPENROWSET(
        BULK '../userdata1.parquet',DATA_SOURCE = AzureStorage,FORMAT_TYPE = PARQUET
    ) nyc
GROUP BY nyc.filename();

但是它总是抛出

在第5行,第5列分析错误:“ OPENROWSET”附近的语法不正确。

但是,我能够在完整模式下成功运行Create语句并在外部表上执行选择查询

CREATE EXTERNAL TABLE dbo.userdata1 (
    [registration_dttm] nvarchar(100) NULL,[id]                decimal(38,0) NULL,[first_name]        nvarchar(100) NULL,[last_name]         nvarchar(100) NULL,|
      |
      |
)
WITH (
    LOCATION='../userdata1.parquet',FILE_FORMAT=parquet_file_format
);

选择@@版本-

Microsoft Azure sql数据仓库-10.0.15225.0 2020年9月8日20:17:38版权所有(c)Microsoft Corporation

如果有任何问题,请纠正我...

解决方法

在将nyc分配给行集时,您会丢失“ AS”:

选择 ... 来自
OPENROWSET( ... ) AS 纽约 GROUP BY nyc.filename();