共用方式為


使用 Azure Data Factory 或 Synapse Analytics 從 Greenplum 複製資料

適用於: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 的服務。

  1. 前往 Azure Data Factory 或 Synapse 工作區的 [管理] 索引標籤,選取 [連結服務],然後按一下 [新增]:

  2. 搜尋 Greenplum 並選取 Greenplum 連接器。

    Greenplum 連接器的螢幕擷取畫面。

  3. 設定服務詳細資料,測試連線,然後建立新的連結服務。

    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 是的
架構 結構描述的名稱。 否 (如果已指定活動來源中的「查詢」)
表格 資料表的名稱。 否 (如果已指定活動來源中的「查詢」)
資料表名稱 具有結構描述的資料表名稱。 支援此屬性是基於回溯相容性。 對於新的工作負載,請使用 schematable 否 (如果已指定活動來源中的「查詢」)

範例

{
    "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 連接器的步驟:

  1. [編輯鏈接服務 ] 頁面中,選取 2.0 版,並參考 鏈接服務 2.0 版屬性來設定連結服務

  2. 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 -> 字串

如需複製活動支援作為來源和接收器的資料存放區清單,請參閱支援的資料存放區