创建外部数据源Azure SQL

时间:2019-01-17 16:55:10

标签: azure azure-data-lake azure-database-mysql

我一直在寻找在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日,上述问题没有答案。

你能帮我吗?

最诚挚的问候,

特里斯坦。

1 个答案:

答案 0 :(得分:1)

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

documentation说它适用于Azure SQL数据库,但这具有误导性,提供此功能的引擎是Polybase,并且仅在SQL DW SQL Server 2016+(IaaS或本地)中可用。

如果您阅读文档中的页面,则会发现一条注释:

  

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