从Azure BLOB存储在Azure SQL DW中创建外部表

时间:2019-01-28 17:15:48

标签: azure azure-sql-database azure-storage azure-sqldw polybase

我正在Azure SQL DW中创建数据源,以便使用BLOB存储数据创建外部表,但是在创建数据源时出现错误。我是这个Polybase环境的新手,请分享您的想法。

我试图在外部表代码中调用数据源。

外部表

create external table [DBA].[TEST]
(
[type] varchar(3) COLLATE   SQL_Latin1_General_CP1_CI_AS NULL,
)
with (LOCATION='https://test.blob.core.windows.net/BCP/',
DATA_SOURCE=TEST,
FILE_FORMAT=pipe_header,
REJECT_TYPE=VALUE,
REJECT_VALUE=0
)

我不确定我也需要传递哪个密钥。我需要使用BLOB存储密钥或其他方式。

数据源

CREATE EXTERNAL DATA SOURCE TEST  
WITH (   
TYPE = BLOB_STORAGE,  
LOCATION = 'https://test.blob.core.windows.net/BCP/'
, CREDENTIAL = KEYS
)  
;

错误代码

Msg 103010, Level 16, State 1, Line 1
Parse error at line: 3, column: 16: Incorrect syntax near 'BLOB_STORAGE'.

Incorrect syntax near 'BLOB_STORAGE'. Expecting CEDS_HADOOP, CEDS_RDBMS, CEDS_SHARDMAPMANAGER, or CEDS_SHAREDMEMORY"

期望

我需要使用BLOB存储帐户在Azure SQL数据仓库中创建外部表。

1 个答案:

答案 0 :(得分:1)

令人困惑的是,TYPE=BLOB_STORAGE不在PolyBase中使用,仅在Azure SQL数据库的BULK INSERT / OPENROWSET中使用。使用TYPE=HADOOP,如本演练所示:Load Contoso Retail data to Azure SQL Data

CREATE EXTERNAL DATA SOURCE AzureStorage
WITH (
    TYPE = HADOOP,
    LOCATION = 'wasbs://<blob_container_name>@<azure_storage_account_name>.blob.core.windows.net',
    CREDENTIAL = AzureStorageCredential
);
相关问题