![](/img/trans.png)
[英]Is it possible to export a single table from Azure sql database, then directly save into azure blob storage without downloading it to local disk
[英]Create a table in Azure SQL Database from Blob Storage
我需要從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
創建一個外部數據源,但是我得到一個“EXTERNAL附近的錯誤”錯誤。 我也無法創建外部文件格式。 這可能在Azure SQL數據庫中嗎?
https://msdn.microsoft.com/en-us/library/dn935022.aspx#Examples:Azure SQL數據庫
最后,我正在嘗試為我的blob存儲創建一個外部表,然后從該blob插入到我的Azure SQL數據庫中的表中。 然后放下容器。
無法在Azure SQL數據庫上使用PolyBase功能,僅在本地 SQL Server 2016數據庫中使用。
在文章中有一個注釋:
僅在SQL Server 2016,Azure SQL數據倉庫和並行數據倉庫上支持PolyBase。 僅在Azure SQL數據庫v12或更高版本上支持彈性數據庫查詢。
相反,您可以創建Azure SQL數據倉庫 (如果您願意,可以在同一個Azure SQL Server上)。 如果您繼續使用該指南,該指南將適合您。 它不適用於Hadoop( https://msdn.microsoft.com/en-us/library/mt703314.aspx ),但據我了解您的問題,您是從Azure blob存儲導入的,這將適用於Azure SQL數據倉庫。
Azure SQL數據庫最近獲得了使用BULK INSERT或OPENROWSET從Azure Blob存儲加載文件的功能。 從這里開始。
從鏈接文章中獲取的兩個簡單代碼示例:
BULK INSERT Product
FROM 'data/product.dat'
WITH ( DATA_SOURCE = 'MyAzureBlobStorageAccount');
SELECT Color, count(*)
FROM OPENROWSET(BULK 'data/product.bcp', DATA_SOURCE = 'MyAzureBlobStorage',
FORMATFILE='data/product.fmt', FORMATFILE_DATA_SOURCE = 'MyAzureBlobStorage') as data
GROUP BY Color;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.