gpt4 book ai didi

database - 从 Blob 存储在 Azure SQL 数据库中创建表

转载 作者:太空狗 更新时间:2023-10-30 01:49:05 24 4
gpt4 key购买 nike

我需要从 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

我能够在 Azure SQL 数据库中创建的唯一外部数据源是TYPE=SHARD_MAP_MANAGER,这是正确的还是必要的?此链接看起来我应该能够使用 TYPE=HADOOP 创建外部数据源,但我收到“error close EXTERNAL”错误。我也无法创建外部文件格式。在 Azure SQL 数据库中这可能吗?

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

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

最佳答案

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

the article有一个注释:

PolyBase is supported only on SQL Server 2016, Azure SQL Data Warehouse, and Parallel Data Warehouse. Elastic Database queries are supported only on Azure SQL Database v12 or later.

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

关于database - 从 Blob 存储在 Azure SQL 数据库中创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41767573/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com