PolyBase 連線設定 (Transact-SQL)
適用於: SQL Server Azure SQL Database Azure Synapse Analytics Analytics Platform System (PDW)
顯示或變更適用於 PolyBase Hadoop 和 Microsoft Azure Blob 儲存體連線的全域組態設定。
Syntax
列出所有組態選項。
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 connectivity'
針對所有從 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 Hadoop 連線值,再啟用 PolyBase。 如需詳細資訊,請參閱在 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 來設定。和 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
明確或隱含交易中不允許。
權限
所有使用者都可以使用無參數或@configname參數來執行sp_configure
。
需要 ALTER SETTINGS
伺服器層級權限或系統管理員固定伺服器角色的成員資格,才能變更組態值或執行 RECONFIGURE
。
範例
A. 列出所有可用的組態設定
下列範例示範如何列出所有組態選項。
EXECUTE sp_configure;
結果會傳回選項名稱,後面接著選項的最小值和最大值。 config_value
是 PolyBase 在重新設定完成時所使用的值。 run_value
是目前正在使用的值。 和 config_value
run_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 上的 4、Linux 上的 Hortonworks HDP 2.3 上的 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