从Blob存储创建Azure SQL数据库中的表

Bam*_*ano 6 database azure azure-storage-blobs azure-sql-database

我需要从Azure数据仓库中取出大表,然后将它们移到独立的Azure SQL数据库中.我无法使数据工厂在我的场景中足够快地工作.我可以通过外部表从我的数据仓库中获取我的表到Blob存储.我无法弄清楚的是如何使用外部数据源在Azure SQL数据库上创建外部表到我的Blob存储.

这是用于将表格放入blob存储的格式文件,外部数据源和外部表:

CREATE EXTERNAL FILE FORMAT [DelimitedText] 
WITH (
    FORMAT_TYPE = DELIMITEDTEXT, 
    FORMAT_OPTIONS (
        FIELD_TERMINATOR = N'~¶~', 
        USE_TYPE_DEFAULT = False
    ), 
    DATA_COMPRESSION = N'org.apache.hadoop.io.compress.GzipCodec')
GO

CREATE EXTERNAL DATA SOURCE [myDataSource] 
WITH (
    TYPE = HADOOP, 
    LOCATION = N'wasbs://<blob container>@<storage account>.blob.core.windows.net', 
    CREDENTIAL = [myCredential])
GO

CREATE EXTERNAL TABLE [dbo].[myTable] 
WITH (
    DATA_SOURCE = [myDataSource] ,
    LOCATION = N'MY_FOLDER/',
    FILE_FORMAT = [DelimitedText]
)
AS
SELECT *
FROM dbo.mytable
Run Code Online (Sandbox Code Playgroud)

我能够在Azure SQL数据库中创建的唯一外部数据源TYPE=SHARD_MAP_MANAGER是正确的还是必要的?这个链接看起来我应该能够创建一个外部数据源,TYPE=HADOOP但我得到一个"错误接近EXTERNAL"错误.我也无法创建外部文件格式.这可能在Azure SQL数据库中吗?

https://msdn.microsoft.com/en-us/library/dn935022.aspx#Examples:Azure SQL数据库

最后,我正在尝试为我的blob存储创建一个外部表,然后从该blob插入到我的Azure SQL数据库中的表中.然后放下容器.

yoa*_*ape 4

无法在Azure SQL 数据库上使用 PolyBase 功能,只能在本地SQL Server 2016 数据库中使用。

文章中有一段注释:

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

相反,您可以创建一个Azure SQL 数据仓库(如果您愿意,可以在同一个 Azure SQL Server 上)。如果您按照该指南运行,该指南将对您有用。它不适用于 Hadoop ( https://msdn.microsoft.com/en-us/library/mt703314.aspx ),但据我了解你的问题,你正在从 Azure blob 存储导入,这将适用于 Azure SQL数据仓库。