您是否可以使用格式文件在Azure SQL数据库上创建外部表?我正在尝试为我转储到blob存储中的表创建一个外部表。
从此页面:https://msdn.microsoft.com/en-us/library/dn935021.aspx
-- Create a new external table
CREATE EXTERNAL TABLE [ database_name . [ schema_name ] . | schema_name. ] table_name
( <column_definition> [ ,...n ] )
WITH (
LOCATION = 'folder_or_filepath',
DATA_SOURCE = external_data_source_name,
FILE_FORMAT = external_file_format_name
[ , <reject_options> [ ,...n ] ]
)
[;]
文档是否不正确或我遗失了什么?我似乎无法创建格式文件并继续接收
“'EXTERNAL'附近的语法不正确。”错误。
CREATE EXTERNAL FILE FORMAT [DelimitedText]
WITH (
FORMAT_TYPE = DELIMITEDTEXT,
FORMAT_OPTIONS (
FIELD_TERMINATOR = N'~¶~',
USE_TYPE_DEFAULT = False
),
DATA_COMPRESSION = N'org.apache.hadoop.io.compress.GzipCodec')
GO
答案 0 :(得分:5)
问题是(可能)您尝试在Azure SQL 数据库上使用PolyBase
,但仅在SQL Server 2016内部部署上支持PolyBase。但是,Azure SQL Datawarehouse :PolyBase Versioned Feature Summary
如果您创建Azure SQL数据软件库而不是Azure SQL数据库,则应该具有PolyBase功能,包括创建外部文件格式。
运行此:
CREATE EXTERNAL FILE FORMAT TextFormat
WITH (
FORMAT_TYPE = DELIMITEDTEXT,
FORMAT_OPTIONS (
FIELD_TERMINATOR = N'~¶~',
USE_TYPE_DEFAULT = False
),
DATA_COMPRESSION = N'org.apache.hadoop.io.compress.GzipCodec')
GO
在 Azure SQL数据库上会出现如下错误:
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'EXTERNAL'.
在 Azure SQL数据仓库上运行相同的操作
Command(s) completed successfully.
您将无法使用Azure SQL数据仓库使用Hadoop数据库,但支持使用Azure blob存储。