Если мы угадаем, вы хотите загрузить SampleData.csv
из хранилища блогов в Azure SQL Хранилище данных.
Когда мы создадим внешний источник данных с опцией CREDENTIAL из хранилища BLOB-объектов:
CREATE EXTERNAL DATA SOURCE <data_source_name>
WITH
( [ LOCATION = '<prefix>://<path>[:<port>]' ]
[ [ , ] CREDENTIAL = <credential_name> ]
[ [ , ] TYPE = HADOOP ]
[ ; ]
Формат значения местоположения должен быть следующим:
LOCATION = 'wasb[s]://<container>@<storage_account>.blob.core.windows.net'
Затем создайте CREATE EXTERNAL TABLE, так как мы установили контейнер, просто нужно установить / folder / имя файла в LOCATION
прямо как ниже (если 'store17' - имя контейнера):
CREATE EXTERNAL TABLE [dbo].[exttest1]
( [description] [nvarchar](4000) NULL,
[industry] [nvarchar](4000) NULL,
[level] [nvarchar](4000) NULL,
[size] [nvarchar](4000) NULL,
[line_code] [nvarchar](4000) NULL,
[value] [nvarchar](4000) NULL )
WITH
(
LOCATION='/test2/SampleData.csv' , --/folder/file
DATA_SOURCE = ds1 ,
FILE_FORMAT = FF1 ,
REJECT_TYPE = VALUE ,
REJECT_VALUE = 0
) ;
Но из вашего второго снимка экрана, почему lLOCATION изменился на /test2/
?
Вот Пример полного кода, который я загружаю dbotest.csv
в свой ADW, я протестировал и хорошо работает:
CSV-файл:
T- SQL код:
CREATE DATABASE SCOPED CREDENTIAL AzureStorageCredential
WITH
IDENTITY = '****', --Storage account name
SECRET = '*****' ;--accournt key
-- Create an external data source with CREDENTIAL option.
CREATE EXTERNAL DATA SOURCE MyAzureStorage
WITH
( LOCATION = 'wasbs://testcontainer@****.blob.core.windows.net/' ,--
CREDENTIAL = AzureStorageCredential ,
TYPE = HADOOP
) ;
--Create external file format
CREATE EXTERNAL FILE FORMAT TextFileFormat
WITH (FORMAT_TYPE = DELIMITEDTEXT,
FORMAT_OPTIONS(
FIELD_TERMINATOR = ',',
STRING_DELIMITER = '"',
USE_TYPE_DEFAULT = True)
)
---Create external table wiht format
CREATE EXTERNAL TABLE [dbo].[dbotest]
( [id] int,
[name] nvarchar(50)
)
WITH
(
LOCATION='/csv/dbotest.csv' ,--/folder/filename
DATA_SOURCE = MyAzureStorage ,
FILE_FORMAT = TextFileFormat ,
REJECT_TYPE = VALUE ,
REJECT_VALUE = 0
) ;
Проверка данных :
Надеюсь, это поможет.