PolyBase 连接配置 (Transact-SQL)

适用于: SQL Server 不支持。 Azure SQL 数据库 不支持。 Azure Synapse Analytics 分析平台系统 (PDW)

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

Transact-SQL 语法约定

语法

列出所有配置选项。

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_valueconfig_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