PolyBase 连接配置 (Transact-SQL)

适用于: SQL Server Not supported. Azure SQL 数据库 Not supported. Azure Synapse Analytics Analytics Platform System (PDW)

显示或更改 PolyBase Hadoop 和 Microsoft Azure Blob 存储连接的全局配置设置。

Transact-SQL 语法约定

语法

  
--List all of the configuration options  
sp_configure  
[;]  
  
--Configure Hadoop connectivity  
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 (Transact-SQL)

这些是 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:*Hortonworks HDP 3.1、Cloudera CDH 6.1/6.2/6.3、Azure Blob 存储 (WASB[S]) 和 Azure Data Lake Storage Gen2 (ABFS[S])

*选项 8 在 SQL Server 2019 CU11 中引入。

默认情况下,Hadoop 连接设置为 0(已禁用)。 安装并启用 PolyBase 后,应配置 PolyBase hadoop 连接值。 有关详细信息,请参阅在 Windows 上安装 PolyBase配置 PolyBase 以访问 Hadoop 中的外部数据

RECONFIGURE
更新运行值 (run_value) 以匹配配置值 (config_value)。 有关 run_valueconfig_value 的定义,请参阅结果集。 在 RECONFIGURE 语句设置运行值之前,由 sp_configure 设置的新配置值不会生效。 然后,在运行 RECONFIGURE 之后,必须停止并重启 SQL Server 服务。

重要

请注意,停止 SQL Server 服务时,以下另外两个服务也将自动停止:PolyBase 引擎和数据移动服务。 重启 SQL Server 引擎服务之后,再次手动启动这两项服务(它们不会自动启动)。

返回代码值

0(成功)或 1(失败)

结果集

在不使用参数执行时,sp_configure 会返回五列的结果集。

列名称 数据类型 说明
name nvarchar(35) 配置选项的名称。
最小值 int 配置选项的最小值。
最大值 int 配置选项的最大值。
config_value int 使用 sp_configure设置的值。
run_value int PolyBase 正在使用当前值。 此值通过运行 RECONFIGURE 进行设置。

config_valuerun_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. 列出所有可用的配置设置

以下示例显示如何列出所有的配置选项。

EXEC sp_configure;  

结果返回选项名称,后跟该选项的最小值和最大值。 config_value 是重新配置完成后 PolyBase 将使用的值。 run_value 是当前正在使用的值。 config_valuerun_value 通常是相同的,除非该值正在进行更改。

B. 列出一个配置名称的配置设置

EXEC sp_configure @configname='hadoop connectivity';  

C. 设置 hadoop 连接

此示例将 PolyBase 设置为选项 7。 此选项允许 PolyBase 在 Linux 和 Windows Server 上的 Hortonworks HDP 2.1、2.2 和 2.3 中以及 Azure Blob 存储中创建和使用外部表。 例如,SQL 可能拥有 30 个外部表,其中 7 个引用 Linux 上的 Hortonworks HDP 2.1 中的数据,4 个引用 Linux 上的 Hortonworks HDP 2.2 中的数据,7 个引用 Linux 上的 Hortonworks HDP 2.3 中的数据,其余 12 个引用 Azure Blog 存储。

--Configure external tables to reference data on Hortonworks HDP 2.1, 2.2, and 2.3 on Linux, and Azure Blob Storage  
  
sp_configure @configname = 'hadoop connectivity', @configvalue = 7;  
GO  
  
RECONFIGURE  
GO  

后续步骤