【问题标题】:Creating External Table in Azure SQL DW from Azure BLOB Storage从 Azure BLOB 存储在 Azure SQL DW 中创建外部表
【发布时间】:2019-06-21 18:12:05
【问题描述】:

我正在 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
)

我不确定我还需要在此处传递哪个 KEY。要么我需要使用 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 数据仓库中创建外部表。

【问题讨论】:

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


    【解决方案1】:

    令人困惑的是,PolyBase 中不使用 TYPE=BLOB_STORAGE,仅在 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
    );
    

    【讨论】:

    • 感谢@David Browne 的回复。我在这里有个问题。我需要在 CREDENTIAL 中传递 BLOB 存储 KEY1 还是需要在 CREDENTIAL 参数中传递哪些凭据
    • 您需要创建一个 DATABASE SCOPED CREDENTIAL。它在那个演练中。
    • 谢谢,这很有意义。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-07
    • 1970-01-01
    • 1970-01-01
    • 2020-11-12
    • 1970-01-01
    • 2021-01-14
    相关资源
    最近更新 更多