我正在寻找一种解决方案来在我的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 数据库,而不是 Azure SQL 数据仓库 (DW) 来设置来自 ADLS 或类似类型的数据源的外部表。
有没有办法从 Azure 数据湖存储上托管的数据在 Azure SQL 数据库上设置外部表?
该主题的日期为2018年9月12日,上述问题没有答案。
你能帮我吗?
此致敬意
特里斯坦。
只能在 Azure SQL 数据仓库中设置外部连接。
该文档说它适用于Azure SQL数据库,但这具有误导性,提供此功能的引擎是Polybase,仅在SQL DW和SQL Server 2016 +(IaaS或本地)中可用。
如果您向下阅读文档的页面,您会发现一个注释:
PolyBase 仅在 SQL Server 2016(或更高版本)、Azure SQL 上受支持 数据仓库和并行数据仓库。弹性数据库查询 仅在 Azure SQL 数据库 v12 或更高版本上受支持。