如果我们猜对了,您希望SampleData.csv
从博客存储加载到 Azure SQL 数据仓库。
当我们使用Blob 存储中的 CREDENTIAL 选项创建外部数据源时:
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,既然我们已经设置了容器,只需LOCATION
像下面这样直接设置 /folder/filename (如果 '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
) ;
数据检查:

希望这可以帮助。