2

我正在寻找在我的 SQL 数据库中创建外部数据源的解决方案。

CREATE DATABASE SCOPED CREDENTIAL ADLSCredential
WITH
    IDENTITY = '<client_id>@<OAuth_2.0_Token_EndPoint>',
    SECRET = '7Re4z84oUuCeMKjWzMmVNTXcsj4YH7okVl********='
;

CREATE EXTERNAL DATA SOURCE AzureDataLakeStorage
WITH (
    TYPE = HADOOP,
    LOCATION = 'adl://<datalakeaccountname>.azuredatalakestore.net',
    CREDENTIAL = ADLSCredential
);

执行此请求时,结果始终为:

无法执行查询。错误:“HADOOP”附近的语法不正确。

经过一番研究,我发现了以下信息:

您使用 Azure SQL DB 而不是 Azure SQL 数据仓库 (DW) 从 ADLS 或类似类型的数据源设置外部表。

有没有办法根据 Azure Data Lake Store 上托管的数据在 Azure SQL 数据库上设置外部表?

该主题的日期为 2018 年 9 月 12 日,上述问题没有答案。

你能帮帮我吗?

此致,

特里斯坦。

4

1 回答 1

3

您只能在 Azure SQL数据仓库中设置外部连接。

文档说它适用于 Azure SQL 数据库,但这是一种误导,提供此功能的引擎是 Polybase,它仅在 SQL DW 和 SQL Server 2016+(IaaS 或本地)中可用。

如果您阅读文档上的页面,您会发现一个注释:

PolyBase 仅在 SQL Server 2016(或更高版本)、Azure SQL 数据仓库和并行数据仓库上受支持。弹性数据库查询仅在 Azure SQL 数据库 v12 或更高版本上受支持。

于 2019-01-17T22:19:21.490 回答