適用於:Azure Data Factory
Azure Synapse Analytics
提示
試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用!
本文概述如何使用 Azure Data Factory 或 Synapse Analytics 管線中的複製活動,從 Greenplum 複製資料。 本文是根據複製活動概觀一文,該文提供複製活動的一般概觀。
這很重要
Greenplum 連接器 2.0 版提供改良的原生 Greenplum 支援。 如果您在解決方案中使用 Greenplum 連接器 1.0 版,請在 2025 年 8 月 31 日之前升級 Greenplum 連接器。 如需 2.0 版與 1.0 版之間的差異詳細資訊,請參閱本節。
支援的功能
這個 Greenplum 連接器支援下列功能:
支援的功能 | 紅外線 |
---|---|
複製活動 (來源/-) | 4.9 |
查閱活動 | 4.9 |
① Azure 整合執行階段 ② 自我裝載整合執行階段
如需複製活動所支援作為來源/接收器的資料存放區清單,請參閱支援的資料存放區表格。
此服務提供的內建驅動程式可啟用連線,因此,您不需手動安裝任何驅動程式,即可使用此連接器。
必要條件
如果您的資料存放區位於內部部署網路、Azure 虛擬網路或 Amazon 虛擬私人雲端中,則必須設定自我裝載整合執行階段以與其連線。
如果您的資料存放區是受控雲端資料服務,則可使用 Azure Integration Runtime。 如果只能存取防火牆規則中核准的 IP,您可以將 Azure Integration Runtime IP 新增至允許清單。
您也可以使用 Azure Data Factory 中的受控虛擬網路整合執行階段功能來存取內部部署網路,而不需要安裝和設定自我裝載整合執行階段。
如需 Data Factory 支援的網路安全性機制和選項的詳細資訊,請參閱資料存取策略。
開始使用
若要透過管線執行複製活動,您可以使用下列其中一個工具或 SDK:
使用 UI 建立連結至 Greenplum 的服務
使用下列步驟,在 Azure 入口網站 UI 中建立連結至 Greenplum 的服務。
前往 Azure Data Factory 或 Synapse 工作區的 [管理] 索引標籤,選取 [連結服務],然後按一下 [新增]:
搜尋 Greenplum 並選取 Greenplum 連接器。
設定服務詳細資料,測試連線,然後建立新的連結服務。
連接器設定詳細資料
下列各節提供屬性的相關詳細資料,這些屬性是用來定義 Greenplum 連接器專屬的 Data Factory 實體。
連結服務屬性
Greenplum 連接器現在支援 2.0 版。 請參閱 本節, 從 1.0 版升級您的 Greenplum 連接器版本。 如需屬性詳細資料,請參閱對應的章節。
2.0 版
套用 2.0 版時,Greenplum 連結服務支援下列屬性:
屬性 | 描述 | 必要 |
---|---|---|
類型 | type 屬性必須設定為:Greenplum | 是的 |
版本 | 您指定的版本。 該值為 2.0 。 |
是的 |
主機 | 指定資料庫執行所在的主機名稱及(可選的)埠。 | 是的 |
連接埠 | 資料庫伺服器的 TCP 連接埠。 預設值是 5432 。 |
否 |
資料庫 | 要連線的資料庫。 | 是的 |
用戶名 | 要連線的使用者名稱。 如果使用 IntegratedSecurity,則不需要。 | 是的 |
密碼 | 用以連線的密碼。 如果使用 IntegratedSecurity,則不需要。 將此欄位標記為 SecureString 以將其安全地儲存。 或者,可以參考 Azure Key Vault 中儲存的認證。 | 是的 |
SSL 模式 (sslMode) | 根據伺服器支援,控制是否使用 SSL。 - 停用:SSL 已停用。 如果伺服器需要 SSL,連線將會失敗。 - 允許:如果伺服器允許非 SSL 連線,則偏好使用非 SSL 連線,但允許 SSL 連線。 - 偏好:如果伺服器允許 SSL 連線,則偏好使用 SSL 連線,但允許非 SSL 連線。 - 需要:如果伺服器不支援 SSL,連線會失敗。 - Verify-ca:如果伺服器不支援 SSL,則連線失敗。 也會驗證伺服器憑證。 - Verify-full:如果伺服器不支援 SSL,則連線失敗。 也會使用主機的名稱驗證伺服器憑證。 選項:停用 (0) / 允許 (1) / 偏好 (2) / 需要 (3) (預設值 ) / Verify-ca (4) / Verify-full (5) |
是的 |
驗證類型 | 連線到資料庫的驗證類型。 僅支援 [基本]。 | 是的 |
connectVia | 用於連線到資料存放區的 Integration Runtime。 深入了解必要條件一節。 如果未指定,就會使用預設的 Azure Integration Runtime。 | 否 |
其他連線屬性: | ||
connectionTimeout | 在終止嘗試並產生錯誤之前,嘗試建立連線的時間(以秒為單位)。 預設值是 15 。 |
否 |
commandTimeout | 在終止嘗試並產生錯誤之前,嘗試執行命令的時間(以秒為單位)。 設定為零表示無限大。 預設值是 30 。 |
否 |
範例:
{
"name": "GreenplumLinkedService",
"properties": {
"type": "Greenplum",
"version": "2.0",
"typeProperties": {
"host": "<host>",
"port": 5432,
"database": "<database>",
"username": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
},
"sslMode": <sslmode>,
"authenticationType": "Basic"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
範例:在 Azure Key Vault 中儲存密碼
{
"name": "GreenplumLinkedService",
"properties": {
"type": "Greenplum",
"version": "2.0",
"typeProperties": {
"host": "<host>",
"port": 5432,
"database": "<database>",
"username": "<username>",
"password": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName>"
},
"sslMode": <sslmode>,
"authenticationType": "Basic"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
1.0 版
套用 1.0 版時,Greenplum 連結服務支援下列屬性:
屬性 | 描述 | 必要 |
---|---|---|
類型 | type 屬性必須設定為:Greenplum | 是的 |
Connection String (連接字串) | 連線到 Greenplum 的 ODBC 連接字串。 您也可以將密碼放在 Azure Key Vault 中,並從連接字串中提取 pwd 組態。 請參閱下列範例和在 Azure Key Vault 中儲存認證一文中的更多詳細資料。 |
是的 |
connectVia | 用於連線到資料存放區的 Integration Runtime。 深入了解必要條件一節。 如果未指定,就會使用預設的 Azure Integration Runtime。 | 否 |
範例:
{
"name": "GreenplumLinkedService",
"properties": {
"type": "Greenplum",
"typeProperties": {
"connectionString": "HOST=<server>;PORT=<port>;DB=<database>;UID=<user name>;PWD=<password>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
範例:在 Azure Key Vault 中儲存密碼
{
"name": "GreenplumLinkedService",
"properties": {
"type": "Greenplum",
"typeProperties": {
"connectionString": "HOST=<server>;PORT=<port>;DB=<database>;UID=<user name>;",
"pwd": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
資料集屬性
如需可用來定義資料集的區段和屬性完整清單,請參閱資料集一文。 本節提供 Greenplum 資料集所支援的屬性清單。
若要從 Greenplum 複製資料,請將資料集的 type 屬性設定為 GreenplumTable。 以下是支援的屬性:
屬性 | 描述 | 必要 |
---|---|---|
類型 | 資料集的 type 屬性必須設定為:GreenplumTable | 是的 |
架構 | 結構描述的名稱。 | 否 (如果已指定活動來源中的「查詢」) |
表格 | 資料表的名稱。 | 否 (如果已指定活動來源中的「查詢」) |
資料表名稱 | 具有結構描述的資料表名稱。 支援此屬性是基於回溯相容性。 對於新的工作負載,請使用 schema 和 table 。 |
否 (如果已指定活動來源中的「查詢」) |
範例
{
"name": "GreenplumDataset",
"properties": {
"type": "GreenplumTable",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<Greenplum linked service name>",
"type": "LinkedServiceReference"
}
}
}
複製活動屬性
如需可用來定義活動的區段和屬性完整清單,請參閱管線一文。 本節提供 Greenplum 來源所支援的屬性清單。
將 GreenplumSource 作為來源
若要從 Greenplum 複製資料,請將複製活動中的來源類型設定為 GreenplumSource。 複製活動的 source 區段支援下列屬性:
屬性 | 描述 | 必要 |
---|---|---|
類型 | 複製活動來源的 type 屬性必須設定為:GreenplumSource | 是的 |
查詢 | 使用自訂 SQL 查詢來讀取資料。 例如: "SELECT * FROM MyTable" 。 |
否 (如果已指定資料集中的 "tableName") |
範例:
"activities":[
{
"name": "CopyFromGreenplum",
"type": "Copy",
"inputs": [
{
"referenceName": "<Greenplum input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "GreenplumSource",
"query": "SELECT * FROM MyTable"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Greenplum 的數據類型對應
當您從 Greenplum 複製數據時,下列對應會從 Greenplum 的數據類型套用至服務所使用的內部資料類型。 若要瞭解複製活動如何將來源架構和資料類型映射到匯入端,請參閱 架構和資料類型對應。
Greenplum 數據類型 | 過渡期服務資料類型 (2.0 版) | 過渡期服務資料類型 (1.0 版) |
---|---|---|
SmallInt | Int16 | Int16 |
整數 | Int32 | Int32 |
BigInt | Int64 | Int64 |
十進位 (精確度 <= 28) | 十進制 | 十進制 |
十進位數 (Precision > 28) | 十進制 | 繩子 |
數字型 | 十進制 | 十進制 |
真實 | 單身 | 單身 |
兩倍 | 兩倍 | 兩倍 |
SmallSerial | Int16 | Int16 |
序號 | Int32 | Int32 |
BigSerial | Int64 | Int64 |
金錢 | 十進制 | 繩子 |
煳 | 繩子 | 繩子 |
Varchar | 繩子 | 繩子 |
文字 | 繩子 | 繩子 |
Bytea | Byte[] | Byte[] |
時間戳 | 日期時間 | 日期時間 |
具有時區的時間戳記 | 日期時間偏移量 | 繩子 |
日期 | 日期 | 日期時間 |
時間 | TimeSpan(時間跨度) | TimeSpan(時間跨度) |
具有時區的時間 | 日期時間偏移量 | 繩子 |
間隔 | TimeSpan(時間跨度) | 繩子 |
布爾邏輯 | 布爾邏輯 | 布爾邏輯 |
點 | 繩子 | 繩子 |
線 | 繩子 | 繩子 |
Iseg | 繩子 | 繩子 |
盒子 | 繩子 | 繩子 |
路徑 | 繩子 | 繩子 |
多邊形 | 繩子 | 繩子 |
圓圈 | 繩子 | 繩子 |
Cidr | 繩子 | 繩子 |
Inet | 繩子 | 繩子 |
Macaddr | 繩子 | 繩子 |
Macaddr8 | 繩子 | 繩子 |
Tsvector | 繩子 | 繩子 |
Tsquery | 繩子 | 繩子 |
通用唯一識別碼 (UUID) | Guid | Guid |
Json | 繩子 | 繩子 |
Jsonb | 繩子 | 繩子 |
陣列 | 繩子 | 繩子 |
位元 | Byte[] | Byte[] |
比特變化 | Byte[] | Byte[] |
XML | 繩子 | 繩子 |
IntArray (內部陣列) | 繩子 | 繩子 |
TextArray | 繩子 | 繩子 |
NumericArray | 繩子 | 繩子 |
日期陣列 | 繩子 | 繩子 |
範圍 | 繩子 | 繩子 |
Bpchar | 繩子 | 繩子 |
查閱活動屬性
若要了解屬性的詳細資料,請參閱查閱活動。
升級 Greenplum 連接器
以下是可協助您升級 Greenplum 連接器的步驟:
在 [編輯鏈接服務 ] 頁面中,選取 2.0 版,並參考 鏈接服務 2.0 版屬性來設定連結服務。
Greenplum 連結服務 2.0 版的資料類型對應方式與 1.0 版的不同。 若要瞭解最新的數據類型對應,請參閱 Greenplum 的數據類型對應。
Greenplum 2.0 版和 1.0 版之間的差異
Greenplum 連接器 2.0 版提供新功能,且與 1.0 版的大部分功能相容。 下表顯示 2.0 版與 1.0 版之間的功能差異。
2.0 版 | 1.0 版 |
---|---|
下列對應會將 Greenplum 數據類型映射到過渡服務數據類型。 十進制 (精度 > 28) -> 十進制 Money -> 小數 時間戳與時區 -> DateTimeOffset 具有時區的時間 -> DateTimeOffset 間隔 -> 時間範圍 |
下列對應會將 Greenplum 數據類型映射到過渡服務數據類型。 十進位(精度 > 28)- > 字串 Money -> 字串 具有時區的時間戳 ->字串 具有時區的時間 -> 字串 Interval -> 字串 |
相關內容
如需複製活動支援作為來源和接收器的資料存放區清單,請參閱支援的資料存放區。