PolyBase 连接配置 (Transact-SQL)
适用于: SQL Server Azure SQL 数据库 Azure Synapse Analytics 分析平台系统 (PDW)
显示或更改 PolyBase Hadoop 和 Microsoft Azure Blob 存储连接的全局配置设置。
语法
列出所有配置选项。
sp_configure
[ ; ]
配置 Hadoop 连接。
sp_configure [ @configname = ] 'hadoop connectivity' ,
[ @configvalue = ] { 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 }
[ ; ]
RECONFIGURE
[ ; ]
参数
[ @configname = ] 'option_name'
配置选项的名称。 option_name 的数据类型为 varchar(35),默认值为 NULL
。 如果未指定该参数,则返回选项的完整列表。
[ @configvalue = ] 'value'
新的配置设置。 value 的数据类型为 int,默认值为 NULL
。 最大值取决于各个选项。
“hadoop 连接”
为从 PolyBase 到 Hadoop 群集或 Azure Blob 存储的所有连接指定 Hadoop 数据源类型。 有关详细信息,请参阅 CREATE EXTERNAL DATA SOURCE。
以下列表包含 Hadoop 连接设置及其相应的支持的 Hadoop 数据源。 一次只有一种设置有效。
选项 1、4、7 和 8 允许创建多种类型的外部数据源,并在服务器上的所有会话中进行使用。
选项 0:禁用 Hadoop 连接
选项 1:Windows Server 上的 Hortonworks HDP 1.3
选项 1:Azure Blob 存储 (WASB[S])
选项 2:Linux 上的 Hortonworks HDP 1.3
选项 3:Linux 上的 Cloudera CDH 4.3
选项 4:Windows Server 上的 Hortonworks HDP 2.0
选项 4:Azure Blob 存储 (WASB[S])
选项 5:Linux 上的 Hortonworks HDP 2.0
选项 6:Linux 上的 Cloudera CDH 5.1、5.2、5.3、5.4、5.5、5.9、5.10、5.11、5.12 和 5.13
选项 7:Linux 上的 Hortonworks HDP 2.1、2.2、2.3、2.4、2.5、2.6、3.0
选项 7:Windows Server 上的 Hortonworks HDP 2.1、2.2、2.3、2.4
选项 7:Azure Blob 存储 (WASB[S])
选项 8:1 Hortonworks HDP 3.1、Cloudera CDH 6.1、6.2、6.3、Azure Blob 存储 (WASB[S]) 和 Azure Data Lake Storage Gen2 (ABFS[S])
SQL Server 2019 (15.x) CU 11 引入了 1 选项 8。
默认情况下,Hadoop 连接设置为 0
(已禁用)。 安装并启用 PolyBase 后,应配置 PolyBase hadoop 连接值。 有关详细信息,请参阅在 Windows 上安装 PolyBase 和配置 PolyBase 以访问 Hadoop 中的外部数据。
RECONFIGURE
更新运行值 (run_value
) 以匹配配置值 (config_value
)。 有关 run_value
和 config_value
的定义,请参阅结果集。 在语句设置RECONFIGURE
运行值之前,设置的新sp_configure
配置值不会生效。 然后,在运行 RECONFIGURE
之后,必须停止并重启 SQL Server 服务。
重要
停止 SQL Server 服务时,另外两个服务也会自动停止:PolyBase 引擎和数据移动服务。 重启 SQL Server 引擎服务之后,再次手动启动这两项服务(它们不会自动启动)。
返回代码值
0
(成功)或 1
(失败)。
结果集
在不使用参数执行时,sp_configure
会返回五列的结果集。
列名称 | 数据类型 | 描述 |
---|---|---|
name |
nvarchar(35) | 配置选项的名称。 |
minimum |
int | 配置选项的最小值。 |
maximum |
int | 配置选项的最大值。 |
config_value |
int | 使用 sp_configure . 设置的值。 |
run_value |
int | PolyBase 正在使用当前值。 此值通过运行 RECONFIGURE 来设置。run_value 通常config_value 相同,除非值正在更改。如果正在进行重新配置,则可能需要重启计算机,运行值才会准确。 |
注解
在 SQL Server 中,运行 RECONFIGURE
之后,为使“hadoop 连接”的运行值生效,需要重启 SQL Server。
在 Analytics Platform System (PDW) 中,运行 RECONFIGURE
之后,为使“hadoop 连接”的运行值生效,需要重启 Analytics Platform System (PDW) 区域。
在 SQL Server 2022(16.x)及更高版本中,PolyBase 不再支持 Hadoop。
限制
RECONFIGURE
不允许在显式或隐式事务中。
权限
所有用户都可以在没有参数或@configname参数的情况下执行sp_configure
。
需要 ALTER SETTINGS
服务器级别权限或 sysadmin 固定服务器角色的成员资格,才能更改配置值或运行 RECONFIGURE
。
示例
A. 列出所有可用的配置设置
以下示例显示如何列出所有的配置选项。
EXECUTE sp_configure;
结果返回选项名称,后跟该选项的最小值和最大值。 PolyBase config_value
在重新配置完成后使用的值。 当前 run_value
正在使用的值。 run_value
通常config_value
相同,除非值正在更改。
B. 列出一个配置名称的配置设置
EXECUTE sp_configure @configname = 'hadoop connectivity';
C. 设置 hadoop 连接
此示例将 PolyBase 设置为选项 7。 此选项允许 PolyBase 在 Linux 和 Windows Server 上的 Hortonworks HDP 2.1、2.2 和 2.3 中以及 Azure Blob 存储中创建和使用外部表。 例如,SQL Server 可能有 30 个外部表,其中 7 个表引用了 Linux 上的 Hortonworks HDP 2.1、Linux 上的 Hortonworks HDP 2.2、Linux 上的 7 个外部表,另外 12 个引用Azure Blob 存储。
此代码将外部表配置为引用 Linux 上的 Hortonworks HDP 2.1、2.2 和 2.3 上的数据,以及Azure Blob 存储。
EXECUTE sp_configure
@configname = 'hadoop connectivity',
@configvalue = 7;
GO
RECONFIGURE;
GO