PolyBase 連接組態 (Transact-SQL)

適用於:SQL Server Not supported. Azure SQL Database 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_namevarchar(35),預設值為 NULL。 若未指定,就會傳回完整的選項清單。

[ @configvalue= ] ''
這是新的組態設定。 valueint,預設值為 NULL。 最大值會隨著個別選項而不同。

'hadoop connectivity'
針對所有從 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 Hadoop 連線值,再啟用 PolyBase。 如需詳細資訊,請參閱在 Windows 上安裝 PolyBase設定 PolyBase 存取 Hadoop 中的外部資料

RECONFIGURE
更新執行值 (run_value) 以符合組態值 (config_value)。 如需 run_valueconfig_value 的定義,請參閱結果集sp_configure 所設定的新組態值不會在 RECONFIGURE 陳述式設定執行值之前生效。 然後,在執行 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 來設定。

除非正在變更值,否則 config_valuerun_value 通常會一樣。

如果正在進行重新設定,就可能需要重新啟動,才能讓這個執行值正確。

一般備註

在 SQL Server 中,執行 RECONFIGURE 之後,若要讓 'hadoop connectivity' 的執行值生效,您必須重新啟動 SQL Server。

在 Analytics Platform System (PDW) 中,執行 RECONFIGURE 之後,若要讓 'hadoop connectivity' 的執行值生效,您必須重新啟動 Analytics Platform System (PDW) 區域。

從 SQL Server 2022 (16.x) 開始,PolyBase 不再支援 Hadoop。

限制事項

在明確或隱含的交易中,不允許使用 RECONFIGURE。

權限

所有的使用者都可以執行 sp_configure 且不含參數或搭配 @configname 參數。

需要 ALTER SETTINGS 伺服器層級權限或系統管理員固定伺服器角色的成員資格,才能變更組態值或執行 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 Blob 儲存體。

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

下一步