PolyBase 連接組態 (Transact-SQL)
適用於: SQL Server Azure SQL 資料庫 Azure Synapse Analytics Analytics Platform System (PDW)
顯示或變更適用於 PolyBase Hadoop 和 Microsoft Azure Blob 儲存體連線的全域組態設定。
語法
--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 是 int,預設值為 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_value
和 config_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_value 和 run_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_value 和 run_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