Внешняя таблица в хранилище BLOB-объектов в Azure SQL (не Azure SQL DW)

Вот мой сценарий, который я пытаюсь запустить в базе данных SQL Azure:

CREATE DATABASE SCOPED CREDENTIAL some_cred WITH IDENTITY = user1,   
    SECRET = '<Key of Blob Storage container>';  
CREATE EXTERNAL DATA SOURCE TEST
WITH
(
    TYPE=BLOB_STORAGE,
    LOCATION='wasbs://<containername>@accountname.blob.core.windows.net',
    CREDENTIAL= <somecred>`enter code here`
);

CREATE EXTERNAL TABLE dbo.test
(
val VARCHAR(255)
)
WITH
(
DATA_SOURCE = TEST
)

Я получаю следующую ошибку:

Внешние таблицы не поддерживаются с предоставленным типом источника данных.

Моя цель - создать внешнюю таблицу в хранилище больших двоичных объектов, чтобы запрос Hive в HDInsight ссылался на один и тот же большой двоичный объект. Таблицей необходимо управлять с помощью Azure SQL. Что не так с этим скриптом?


person HimalayanNinja    schedule 05.09.2017    source источник


Ответы (2)


База данных SQL Azure имеет функцию загрузки файлов, хранящихся в хранилище BLOB-объектов, но только с помощью языковых функций BULK INSERT и OPENROWSET. См. здесь для получения дополнительной информации.

BULK INSERT dbo.test
FROM 'data/yourFile.txt'
WITH ( DATA_SOURCE = 'YourAzureBlobStorageAccount');

То, как вы написали сценарий, больше похоже на внешнюю таблицу с использованием Polybase, которая в настоящее время доступна только в SQL Server 2016 и хранилище данных SQL Azure.

person wBob    schedule 06.09.2017

Я думаю, что внешние таблицы можно использовать для межбазовых запросов (эластичных запросов). Таким образом, он не смог использовать внешний источник данных, который является BLOB_STORAGE

person Jayendran    schedule 06.09.2017